Axle/build-shaders.sh
2025-06-15 12:01:05 +10:00

33 lines
863 B
Bash
Executable File

#!/bin/bash
set -eu
# glslc
glsl_compile="glslc"
glsl_flags="--target-spv=spv1.6 -std=460"
glsl_stage_vert="-fshader-stage=vert"
glsl_stage_frag="-fshader-stage=frag"
glsl_stage_tesc="-fshader-stage=tesc"
glsl_stage_tese="-fshader-stage=tese"
glsl_stage_geom="-fshader-stage=geom"
glsl_stage_comp="-fshader-stage=comp"
glsl_out="-o./assets/shaders/"
# SPIR-V
mkdir -p ./assets/shaders
for file in ./src/shaders/*.glsl; do
base_name=$(basename -- "$file" .glsl)
case "$base_name" in
*.vert) glsl_stage="${glsl_stage_vert}" ;;
*.frag) glsl_stage="${glsl_stage_frag}" ;;
*.tesc) glsl_stage="${glsl_stage_tesc}" ;;
*.tese) glsl_stage="${glsl_stage_tese}" ;;
*.geom) glsl_stage="${glsl_stage_geom}" ;;
*.comp) glsl_stage="${glsl_stage_comp}" ;;
*) continue ;;
esac
$glsl_compile $glsl_flags $glsl_stage $file "${glsl_out}${base_name}.spv"
done