This repository has been archived on 2025-02-04. You can view files and clone it, but cannot push or open issues or pull requests.
helpless/TODO
2024-07-26 21:33:47 +02:00

58 lines
No EOL
2 KiB
Text

- Audio
- Avoid playing identical audio at the same time
- Allow audio programming
- Inject mixer proc per player
- Inject a mixer proc before and after filling output buffer
- Better spacialization
- Fix vorbis >FILE< streaming (#StbVorbisFileStream)
- Handle audio sources which had their format defaulted to update when default device changes
For streamed audio sources this should be easy enough, because the conversion happens from raw format to source format as we stream it.
For loaded sources though, we would need to convert the source->pcm_frames.
- Optimize
- Spam simd
- Concurrent jobs for players?
- Pool of intermediate buffers (2^)
- Bugs:
- Small fadeout on pause is slightly noisy
- Setting time stamp/progression causes noise (need fade transition like on pause/play)
- End of clip also causes noise if audio clip does not end smoothly
- Setting audio source to a format which differs from audio output format in both channels and bit_width at the same time will produce pure loud noise.
- 24-Bit audio conversion doesn't really work
- General bugs & issues
- Release freeze in run_tests
- Window width&height is zero when minimized (and we make a 0x0 swap chain)
- Window positioning & sizing is fucky wucky
- Memory error messages are misleading when no VERY_DEBUG
- Renderer
- API to pass constant values to shader (codegen #define's)
- Draw_Frame instances
- Or draw to a custom Quad_Buffer, then draw quad buffers ?
- draw_deferred ?
- Draw_Frame Render_Image
- Fonts
- Atlases are way too big, render atlases with size depending on font_height (say, 128 codepoints per atlas)
- OS
- Window::bool is_minimized
- don't set window.width & window.height to 0
- Sockets recv, send
- Mouse pointer
- Hide mouse pointer
- Arenas
- Examples/Guides:
- Scaling text for pixel perfect rendering
- Z sorting
- Scissor boxing
- Needs testing:
- Audio format channel conversions
- sample rate downsampling
- non stereo or mono audio
- Audio spacialization on anything that's not stereo