summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorUjinT34 <41110182+UjinT34@users.noreply.github.com>2025-03-29 03:19:35 +0300
committerGitHub <noreply@github.com>2025-03-29 01:19:35 +0100
commit7374a023eff964817c9e5fbe75a661540516f798 (patch)
treee20baf1be8b1affbda443e34126da15f116b4d64 /scripts
parenta46576afc32d7fbad6c358cc72ead7f4489d8ea8 (diff)
renderer/opengl: Extract shaders from source (#9600)
--------- Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/generateShaderIncludes.sh24
1 files changed, 24 insertions, 0 deletions
diff --git a/scripts/generateShaderIncludes.sh b/scripts/generateShaderIncludes.sh
new file mode 100755
index 00000000..20c78e9d
--- /dev/null
+++ b/scripts/generateShaderIncludes.sh
@@ -0,0 +1,24 @@
+#!/bin/sh
+
+SHADERS_SRC="./src/render/shaders/glsl"
+
+echo "-- Generating shader includes"
+
+if [ ! -d ./src/render/shaders ]; then
+ mkdir ./src/render/shaders
+fi
+
+echo '#pragma once' > ./src/render/shaders/Shaders.hpp
+echo '#include <map>' >> ./src/render/shaders/Shaders.hpp
+echo 'static const std::map<std::string, std::string> SHADERS = {' >> ./src/render/shaders/Shaders.hpp
+
+for filename in `ls ${SHADERS_SRC}`; do
+ echo "-- ${filename}"
+
+ { echo 'R"#('; cat ${SHADERS_SRC}/${filename}; echo ')#"'; } > ./src/render/shaders/${filename}.inc
+ echo "{\"${filename}\"," >> ./src/render/shaders/Shaders.hpp
+ echo "#include \"./${filename}.inc\"" >> ./src/render/shaders/Shaders.hpp
+ echo "}," >> ./src/render/shaders/Shaders.hpp
+done
+
+echo '};' >> ./src/render/shaders/Shaders.hpp