70 lines
No EOL
2.3 KiB
Text
70 lines
No EOL
2.3 KiB
Text
- Gamepad
|
|
|
|
- Audio
|
|
- 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.
|
|
Probably just dirty flag
|
|
- Optimize
|
|
- Spam simd
|
|
- Pool of intermediate buffers (2^)
|
|
- Bugs / Issues:
|
|
- Small fadeout on start/pause is sometimes noisy
|
|
- If audio starts/end abrubtly we will get noise. Maybe detect that on load and apply small fade in/out?
|
|
- 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
|
|
- 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
|
|
- Handle monitor change
|
|
- Sockets recv, send
|
|
- Mouse pointer
|
|
- Hide mouse pointer
|
|
|
|
- Better hash table
|
|
|
|
- Memory
|
|
- Arenas
|
|
|
|
- Examples/Guides:
|
|
- Scaling text for pixel perfect rendering
|
|
- Z sorting
|
|
- Scissor boxing
|
|
- Concurrency
|
|
- strings
|
|
|
|
- Rework profiler
|
|
- Store records and convert to google trace format on exit
|
|
- Measure both time and cycles, output a google_trace_cycles.json & google_trace_time.json
|
|
|
|
- Concurrency
|
|
- Event objects for binary semaphore
|
|
|
|
- Needs testing:
|
|
- Audio format channel conversions
|
|
- sample rate downsampling
|
|
- non stereo or mono audio
|
|
- Audio spacialization on anything that's not stereo
|
|
- Compiling with msvc
|
|
- Compiling with gcc |