add shader backend + support for multiple shader formats

This commit is contained in:
2026-08-01 00:41:50 -07:00
parent 1a7b777b0f
commit fee46730b1
9 changed files with 195 additions and 23 deletions
+9
View File
@@ -0,0 +1,9 @@
#!/usr/bin/env bash
set -euo pipefail
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
cd "$ROOT"
./scripts/shaders_vulkan.sh
./scripts/shaders_d3d12.sh
./scripts/shaders_metal.sh
+11
View File
@@ -0,0 +1,11 @@
#!/usr/bin/env bash
set -euo pipefail
if ! command -v shadercross >/dev/null 2>&1; then
echo "shadercross not found (SDL_shadercross). Install it to build D3D12 DXIL shaders." >&2
exit 1
fi
mkdir -p shaders/d3d12
shadercross shaders/sprite.vert.glsl -o shaders/d3d12/sprite.vert.dxil -s vertex -e main
shadercross shaders/sprite.frag.glsl -o shaders/d3d12/sprite.frag.dxil -s fragment -e main
+11
View File
@@ -0,0 +1,11 @@
#!/usr/bin/env bash
set -euo pipefail
if ! command -v shadercross >/dev/null 2>&1; then
echo "shadercross not found (SDL_shadercross). Install it to build Metal MSL shaders." >&2
exit 1
fi
mkdir -p shaders/metal
shadercross shaders/sprite.vert.glsl -o shaders/metal/sprite.vert.msl -s vertex -e main
shadercross shaders/sprite.frag.glsl -o shaders/metal/sprite.frag.msl -s fragment -e main
+6
View File
@@ -0,0 +1,6 @@
#!/usr/bin/env bash
set -euo pipefail
mkdir -p shaders/vulkan
glslangValidator -V shaders/sprite.vert.glsl -o shaders/vulkan/sprite.vert.spv
glslangValidator -V shaders/sprite.frag.glsl -o shaders/vulkan/sprite.frag.spv