| #!/usr/bin/env bash |
| |
| set -e |
| |
| make-header() { |
| xxd -i "$1" | sed \ |
| -e 's/^unsigned /const unsigned /g' \ |
| -e 's,^const,static const,' \ |
| > "$1.h" |
| } |
| |
| # Requires shadercross CLI installed from SDL_shadercross |
| for filename in *.hlsl; do |
| if [ -f "$filename" ]; then |
| shadercross "$filename" -o "${filename/.hlsl/.spv}" |
| make-header "${filename/.hlsl/.spv}" |
| shadercross "$filename" -o "${filename/.hlsl/.msl}" |
| make-header "${filename/.hlsl/.msl}" |
| shadercross "$filename" -o "${filename/.hlsl/.dxil}" |
| make-header "${filename/.hlsl/.dxil}" |
| fi |
| done |
| |
| rm -f *.spv *.msl *.dxil |