bettola/assets
Ritchie Cunningham c3316b3da1 [Refactor] Implement batched text rendering.
Overhauls text rendering to improve performance.

Renderer was really ineffient, sending a separate GPU draw call for
every character rendered. This created a bottleneck, especially with
text-heavy UI stuff like the wallpaper.

- The 'TextRenderer' now generates a single texture atlas for all font
  glyhs on load so all characters share a single texture.
- 'begin()' / 'flush()' was added to the 'TextRenderer'. Calls to
  'render_text' now buffer vertex data (position, texture coords,
colour) instead of drawing immediately. A single 'flush()' call at the
end of a pass draws all buffered text in one draw call.
- A simple batching introduced some shitty visual layering bugs. to
  solve this, a staged flushing architecture has been implemented. Each
logical UI component is now responsible for managing its own rendering
passes, beginning and flushing text batches as needed to ensure correct
back-to-front layering.
2025-10-04 18:32:35 +01:00
..
fonts/hack [Add] Text rendering. 2025-09-20 03:16:59 +01:00
scripts/bin [Refactor] Implement scriptable Lua API 2025-09-27 21:18:05 +01:00
shaders [Refactor] Implement batched text rendering. 2025-10-04 18:32:35 +01:00
boot_messages.txt [Add] Implement system boot sequence screen. 2025-09-28 03:10:12 +01:00
menu_background_snippets.txt [Add] Not your boring main menu. 2025-09-28 02:21:34 +01:00