Embed compiled SPIR-V shaders in the client binary with #load
The GPU renderer previously read .spv files from a cwd-relative path at runtime; when they were missing or the editor was launched from outside the repo root, it silently fell back to the SDL renderer, losing syntax highlighting. The shaders are now baked in at compile time, so the binary is self-contained. The compiled .spv files are committed (no longer gitignored) since they are required to build; regenerate with scripts/compile-shaders.sh after editing the GLSL sources. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
8b1723ce31
commit
8d85568713
8 changed files with 24 additions and 30 deletions
|
|
@ -12,7 +12,7 @@ For this Linux-first prototype, use GLSL compiled to SPIR-V with `glslc` from sh
|
|||
scripts/compile-shaders.sh
|
||||
```
|
||||
|
||||
Outputs are written to `client/odin/shaders/compiled/` and intentionally ignored by git.
|
||||
Outputs are written to `client/odin/shaders/compiled/` and are committed to git: the Odin client embeds them at compile time with `#load`, so they must exist to build. After editing the GLSL sources, rerun the script and rebuild the client.
|
||||
|
||||
Fedora install:
|
||||
|
||||
|
|
@ -34,7 +34,8 @@ Current recommendation:
|
|||
|
||||
Current renderer state:
|
||||
|
||||
- The editor loads `rect.vert.spv` and `rect.frag.spv` for the direct SDL3 GPU path.
|
||||
- The editor loads `text.vert.spv` and `text.frag.spv` for font-atlas text.
|
||||
- The editor embeds `rect.vert.spv` and `rect.frag.spv` for the direct SDL3 GPU path.
|
||||
- The editor embeds `text.vert.spv` and `text.frag.spv` for font-atlas text.
|
||||
- The binary has no runtime dependency on the shader files; they are baked in at build time.
|
||||
- Text is rendered from a baked `stb_truetype` atlas using `/usr/share/fonts/google-noto/NotoSansMono-Regular.ttf`.
|
||||
- A later portability step should bundle a project font or add configurable font discovery.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue