Commit Graph

26 Commits

Author SHA1 Message Date
martinfouilleul 333d3e9f9c [gles, wip] reintroducing egl surface (for win32 at first) 2023-02-17 18:56:16 +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
martinfouilleul f54f639db5 properly destroying windows and fonts 2023-02-10 12:05:52 +01:00
martinfouilleul 35e396e4c4 [canvas cleanup]
- Remove attributes/color arguments in functions where we don't need them anymore (since they're defined when calling mg_next_shape())
- Renamed "_with_zindex" functions with "_path" -> these function only fill a path (eg rect), but don't increment the current shape
2023-02-09 17:02:58 +01:00
martinfouilleul 09a18419e4 [canvas] make shapeIndex implicit in calls to mg_push_vertex 2023-02-09 16:42:02 +01:00
martinfouilleul 4e816a838b [Clean canvas/shaders]
- Simplified shader names, prefix embedded strings by "glsl_"
- Extracted shader compilation in common function
- Add shader version string and common structs in canvas code rather than in every shader file
- Renamed zIndex with shapeIndex everywhere
2023-02-09 16:14:15 +01:00
martinfouilleul 7cf4c3d925 opengl surface/renderer: set surface scaling according to dpi of first monitor. Use that dpi to scale backing texture of canvas renderer. Note: changing monitor isn't handled yet! 2023-02-08 18:22:54 +01:00
martinfouilleul 7fbc4ba270 canvas renderer: Use clip rects to cull tiles/pixels in tiling and drawing passes 2023-02-08 12:59:31 +01:00
martinfouilleul e6e674ee04 Allow setting surface swap interval in opengl surface 2023-02-08 11:49:00 +01:00
martinfouilleul c982b524c0 Merge branch 'gl_canvas' of ssh://git.forkingpaths.dev/martinfouilleul/milepost into gl_canvas 2023-02-08 10:47:20 +01:00
martinfouilleul 38c27f21d6 canvas: allow flushing externally built commands with mg_flush_commands() 2023-02-08 10:46:12 +01:00
Martin Fouilleul afaa95fe07 applied canvas changes to metal backend 2023-02-08 10:42:21 +01:00
martinfouilleul 2419ab7889 opengl canvas renderer: splitting vertex data and shape data 2023-02-07 18:59:51 +01:00
martinfouilleul 5788cdbcda Desktop opengl 4.3 canvas 2023-02-07 13:24:14 +01:00
martinfouilleul 19988d045e breaking triangle buffer into batches each time the current image changes 2023-02-02 18:57:57 +01:00
martinfouilleul 0796b2cbcd Switched to fixed point in gles triangle rasterization, and fixed wrong offset curve check collapsing the internal control points 2023-02-02 11:40:22 +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
Martin Fouilleul 9bf62d2218 re-working graphics surfaces 2022-12-26 18:33:31 +01:00
Martin Fouilleul db5b4966e9 - Restructure osx version to use mp_app_internal.h/mp_app.c
- test new run loop structure on osx
2022-12-24 15:33:32 +01:00
martinfouilleul 2421871c3e windows port initial commit: simple window with GL 4.3 context 2022-12-21 12:03:55 +01:00
Martin Fouilleul 440668129c Remote GLES surfaces 2022-08-19 20:55:00 +02:00
Martin Fouilleul 13cccdf5de trying to integrate mg_surface_client/server 2022-08-19 19:46:31 +02:00
Martin Fouilleul c3f149c910 Fixing metal compute shader coordinate bug that prevented rendering the last row/column of tiles 2022-08-15 17:20:44 +02:00
Martin Fouilleul 094b0efc33 text box 2022-08-15 10:20:29 +02:00
Martin Fouilleul 39cfa35bfd initial commit 2022-08-14 18:19:40 +02:00