Commit Graph

84 Commits (cc7cae9d6baa411d7b2f8ff1b3a9825ae291ae32)

Author SHA1 Message Date
cosmonaut cc7cae9d6b DrawIndexedPrimitives calls DrawInstancedPrimitives 2024-03-13 09:44:59 -07:00
cosmonaut 217ae96888 Debug Naming API 2024-03-11 16:11:12 -07:00
cosmonaut 23b6499479 add WriteOptions.Unsafe 2024-03-11 10:18:41 -07:00
cosmonaut 69d2c9cc31 TransferUsage change 2024-03-08 15:29:44 -08:00
cosmonaut f30d8f0197 rename Discard to Cycle 2024-03-07 14:24:42 -08:00
cosmonaut bde31fbe07 change graphics backend selection behavior 2024-03-07 10:34:30 -08:00
cosmonaut 3c832550d0 modify readback API 2024-03-05 17:47:37 -08:00
cosmonaut c84752f38c D3D11 support 2024-03-05 16:17:29 -08:00
cosmonaut 019afa91f5 fix stencil API 2024-03-02 23:10:44 -08:00
cosmonaut 00adec189c update bindings and WriteOption API 2024-03-01 15:03:14 -08:00
cosmonaut 0e723514df TextureSlice and TextureRegion API 2024-02-29 23:53:11 -08:00
cosmonaut e0f4c19dc2 another refresh2 update 2024-02-28 20:07:19 -08:00
cosmonaut 8648eef5d1 rename CpuBuffer to TransferBuffer 2024-02-23 09:56:00 -08:00
cosmonaut 39496c37ea Refresh 2 changes 2024-02-23 00:06:04 -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 514a0bed29 update FAudio and SDL 2023-09-25 10:03:40 -07:00
cosmonaut e0f05881b0 new MoonWorks.Graphics.Fence API 2023-09-18 23:18:21 -07:00
cosmonaut 496eb670ab AV1 Video instead of Theora (#49)
VideoPlayer now takes AV1 video instead of Ogg Theora. This brings a significant decode speed improvement. The decoder now also operates in a threaded manner, which should prevent runtime stalls when fetching video frames.

Reviewed-on: #49
2023-06-07 21:18:44 +00:00
cosmonaut c037b4cb69 fix StaticSoundInstance race condition and state 2023-05-11 18:59:26 -07:00
cosmonaut 5df08727c1 Sound instancing rework 2023-05-11 17:56:40 -07:00
cosmonaut bd405dfbf0 QOA Support (#48)
Reviewed-on: #48
2023-05-05 22:26:32 +00:00
cosmonaut 0ea60a376b new image loader API 2023-04-19 00:41:18 -07:00
cosmonaut 8134761e44 load images from memory + QOI support 2023-04-03 17:28:00 -07:00
cosmonaut f673803c37 FAudio 23.02 2023-02-07 12:31:37 -08:00
cosmonaut 0f78cd1a0c Refresh 1.11.0 2023-02-07 12:28:52 -08:00
evan e52fe60657 update RefreshCS 2023-01-31 12:29:17 -08:00
cosmonaut 703b694bf6 Refresh 1.10.0 2023-01-04 11:35:31 -08:00
cosmonaut fe561b61ef update libs 2023-01-04 11:34:54 -08:00
cosmonaut 1fb3e5adf0 update RefreshCS 2022-12-28 19:24:08 -08:00
cosmonaut 934f3fd623 Refresh 1.9.0 2022-11-09 12:14:33 -08:00
cosmonaut db38ada410 update dependency libraries 2022-11-01 16:33:26 -07:00
cosmonaut 07c0b1b9a2 Window API revision + Framerate limiter (#27)
- add `Backend` enum
- `GraphicsDevice` can now take a preferred backend at creation

- add `GraphicsDevice.ClaimWindow`
- add `GraphicsDevice.UnclaimWindow`
- add `GraphicsDevice.SetPresentMode`

- add `Window.Claimed`
- add `Window.SwapchainFormat`
- fix certain odd behaviors in multi-window scenarios

- rename `FramerateSettings` to `FrameLimiterSettings`
- add `Game.SetFrameLimiter`

Reviewed-on: #27
2022-09-29 22:22:50 +00:00
cosmonaut 80f19e4521 Refresh 1.7.0 2022-09-13 13:58:09 -07:00
cosmonaut 7ea9a6aea3 bump FAudio version 2022-09-07 13:11:24 -07:00
cosmonaut 1af16231ce Refresh 1.6.0 2022-08-25 12:32:49 -07:00
cosmonaut db66fbf115 update to latest SDL2 and FAudio 2022-08-22 17:52:21 -07:00
cosmonaut efb9893aef Theora video support + audio improvements (#20)
- `SoundInstance.Play` no longer takes a loop parameter
- `SoundInstance.Stop` is split into `Stop` and `StopImmediate` instead of taking an immediate parameter
- Added `StreamingSoundSeekable` to better support streaming audio that does not support seek
- `StreamingSound` no longer has a Loop property, but `StreamingSoundSeekable` does
- abstract `StreamingSound.AddBuffer` renamed to `FillBuffer`
- `FillBuffer` is now provided with a native buffer to avoid an extra data copy
- `StreamingSound` buffer implementation optimized to avoid repeated alloc/frees

- added `Video` class which can load and play Theora (.ogv) streaming video/audio

Reviewed-on: #20
2022-08-02 21:04:12 +00:00
cosmonaut db5ca97726 Packer.TextBounds 2022-06-30 16:24:28 -07:00
cosmonaut d190df55b2 update wellspring 2022-06-30 13:25:52 -07:00
cosmonaut 97fad21c0c update Wellspring 2022-06-17 14:09:23 -07:00
cosmonaut b22d3bed30 add DDS and BC7 support 2022-05-11 21:22:20 -07:00
cosmonaut 5e2368bc7d update wellspring 2022-05-02 10:12:38 -07:00
cosmonaut 65568ea234 Font rendering update 2022-04-13 15:10:23 -07:00
cosmonaut b49dc3720a update Wellspring 2022-04-13 10:11:07 -07:00
cosmonaut 61a6d0bdc0 Font Rendering (#18)
Adds a font rendering system based on Wellspring.

Reviewed-on: #18
2022-04-13 03:06:14 +00:00
cosmonaut b1b6b84809 WAV static sounds + static sound instance pool 2022-04-04 23:33:36 -07:00
cosmonaut 6ea3e24a91 Refresh 1.5.0 2022-03-24 20:39:51 -07:00
cosmonaut 1b5221f2c7 vertex format ABI break 2022-03-17 14:42:30 -07:00
cosmonaut 5424d05d63 RasterizerState ABI break 2022-03-14 10:48:31 -07:00
cosmonaut e7addb953f Refresh 1.3.0 2022-03-10 10:28:46 -08:00