1if ! command -v generate_shader_embed_header 2>&1 >/dev/null; then 2 m generate_shader_embed_header 3fi 4 5for file in **/*.{frag,vert}; do 6 [ -f "${file}" ] || break 7 8 SHADER_GLSL="${file}" 9 echo "Found ${SHADER_GLSL}" 10 11 SHADER_SPV="${file}.spv" 12 SHADER_EMBED="${file}.inl" 13 SHADER_BASENAME="$(basename ${file})" 14 SHADER_EMBED_VARNAME=$(sed -r 's/\./_/g' <<< $SHADER_BASENAME) 15 SHADER_EMBED_VARNAME=$(sed -r 's/(^|_)([a-z])/\U\2/g' <<< $SHADER_EMBED_VARNAME) 16 SHADER_EMBED_VARNAME="k${SHADER_EMBED_VARNAME}" 17 18 glslc \ 19 "${SHADER_GLSL}" \ 20 -o "${SHADER_SPV}" 21 22 generate_shader_embed_header \ 23 "${SHADER_GLSL}" \ 24 "${SHADER_SPV}" \ 25 "${SHADER_EMBED_VARNAME}" \ 26 "${SHADER_EMBED}" 27 28 echo "Generated ${SHADER_EMBED}" 29done 30