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  
				
					
						
							
							
								
								Martin Fouilleul 
							
						 
						
							
								5455c2a52b 
								
							 
						 
						
							
							
								
								[ui] Allow styling overlay boxes (e.g. menu and drop-down list panels) locally.  
							
							... 
							
							
							
							- Added an UI_FLAG_OVERLAY flag. When we make a box with that flag set, it is added the an overlayList in the ui context.
- After styling and static size pass, we reparent boxes in the overlayList to an overlay node just below the root node.
- Layout and drawing works uniformly on the whole tree. Overlay boxes get drawn last and steal mouse hover from boxes underneath them. 
							
						 
						
							2023-03-13 10:26:39 +01:00