Commit Graph

33 Commits (bb7e45b9a3fa65e0670d237a66643a3f0efd1052)

Author SHA1 Message Date
cosmonaut df3f38a67b Debug mode bounds checks for buffer and texture upload 2024-01-15 22:19:59 -08:00
cosmonaut 4dbd5a2cbe MSDF font rendering + improved resource tracking (#52)
This is a major rewrite of the Font system. MoonWorks now uses MSDF font rendering, which allows high quality rendering of fonts at arbitrary sizes.

We now ship default embedded shader binaries for Video and Font. If you replace them with shader binaries of the same name located in your base directory, those will be used instead.

Many improvements have been made to resource tracking to prevent memory corruption, particularly on shutdown.

You must be careful not to leak AudioResource classes in particular, as there isn't much we can automatically do to recover from this without potentially crashing your game.

Reviewed-on: #52
2023-12-15 18:46:43 +00:00
cosmonaut e616b0fa62 resource management and logging improvements 2023-10-04 14:45:17 -07:00
cosmonaut b026b9e81f add lots more doc comments 2023-09-19 13:19:41 -07:00
cosmonaut e0f05881b0 new MoonWorks.Graphics.Fence API 2023-09-18 23:18:21 -07:00
cosmonaut 2d7bb24b5c rename Texture load methods for clarity 2023-04-19 00:50:59 -07:00
cosmonaut 0ea60a376b new image loader API 2023-04-19 00:41:18 -07:00
cosmonaut 1cf04a7279 assets stream data directly into unmanaged memory 2023-04-05 00:47:02 -07:00
cosmonaut 8134761e44 load images from memory + QOI support 2023-04-03 17:28:00 -07:00
TheSpydog b39526ca90 Textures now have a sample count, not render passes (#45)
Co-authored-by: Caleb Cornett <caleb.cornett@outlook.com>
Reviewed-on: #45
Co-authored-by: TheSpydog <thespydog@noreply.example.org>
Co-committed-by: TheSpydog <thespydog@noreply.example.org>
2023-01-31 20:27:26 +00:00
TheSpydog 030745361b Fix BC7 loading for textures without DDSD_CAPS/FMT (#40)
Co-authored-by: Caleb Cornett <caleb.cornett@outlook.com>
Reviewed-on: #40
Co-authored-by: TheSpydog <thespydog@noreply.example.org>
Co-committed-by: TheSpydog <thespydog@noreply.example.org>
2023-01-07 01:46:59 +00:00
cosmonaut 36e6c6f332 optimize AcquireSwapchainTexture 2022-12-13 00:52:35 -08:00
TheSpydog 02b0c12ad8 Bunch of Refresh API changes, plus more validation (#31)
Co-authored-by: TheSpydog <thespydog@noreply.example.org>
Co-committed-by: TheSpydog <thespydog@noreply.example.org>
2022-11-09 18:49:53 +00:00
cosmonaut 318ca22021 add default case for clarity 2022-05-15 12:16:41 -07:00
cosmonaut dd3fb75905 fix DDS mip level loader 2022-05-14 10:31:56 -07:00
cosmonaut 66d363459b improve DDS format support 2022-05-12 11:21:07 -07:00
cosmonaut b22d3bed30 add DDS and BC7 support 2022-05-11 21:22:20 -07:00
cosmonaut 80c34c6b16 Collision API (#17) 2022-03-24 06:07:34 +00:00
cosmonaut 17333cfb67 destroy update 2022-03-03 17:16:39 -08:00
cosmonaut 1fa73f0275 more presentation API improvements 2022-03-01 23:21:42 -08:00
cosmonaut 81c882bd48 presentation ABI break 2022-03-01 22:57:10 -08:00
cosmonaut 8973b3e658 Formatting pass 2022-02-22 21:14:32 -08:00
cosmonaut cb25e6feff resource destroy now requires a CB 2022-02-18 21:02:16 -08:00
cosmonaut 0c588b96f4 add more info to Texture 2022-01-10 12:20:01 -08:00
cosmonaut 9df9aaeb3a update texture SetData API 2021-11-14 21:08:02 -08:00
cosmonaut b928257d3c document lots of graphics stuff 2021-02-24 12:43:35 -08:00
cosmonaut 55d8e5a1df remove FileInfo references 2021-01-28 18:07:48 -08:00
cosmonaut c65485a31c use in for graphicspipelinecreateinfo 2021-01-28 17:44:12 -08:00
cosmonaut 7f6236cb49 update render target and texture format API 2021-01-26 19:10:09 -08:00
cosmonaut 66e0fe9924 remove Bit from flags enum 2021-01-25 20:47:39 -08:00
cosmonaut ce27a4bc4c adding some GetDatas and SetDatas 2021-01-25 18:18:25 -08:00
cosmonaut db44c3e37a change refs + a SetData convenience method 2021-01-21 17:27:25 -08:00
cosmonaut d22a70c116 removing explicit RefreshCS references in API 2021-01-20 13:32:48 -08:00