1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
#!/bin/sh
SHADERS_SRC="./src/renderer/gl/shaders/glsl"
echo "-- Generating shader includes"
if [ ! -d ./src/renderer/shaders ]; then
mkdir ./src/renderer/shaders
fi
echo '#pragma once' > ./src/renderer/gl/shaders/Shaders.hpp
echo '#include <map>' >> ./src/renderer/gl/shaders/Shaders.hpp
echo 'static const std::map<std::string, std::string> SHADERS = {' >> ./src/renderer/gl/shaders/Shaders.hpp
find "$SHADERS_SRC" -maxdepth 1 -type f | sort -fdi | while read -r filepath; do
filename=${filepath#"${SHADERS_SRC}"/}
echo "-- ${filename}"
{ echo 'R"#('; cat ${SHADERS_SRC}/${filename}; echo ')#"'; } > ./src/renderer/gl/shaders/${filename}.inc
echo "{\"${filename}\"," >> ./src/renderer/gl/shaders/Shaders.hpp
echo "#include \"./${filename}.inc\"" >> ./src/renderer/gl/shaders/Shaders.hpp
echo "}," >> ./src/renderer/gl/shaders/Shaders.hpp
done
echo '};' >> ./src/renderer/gl/shaders/Shaders.hpp
|