Files
Juliet/misc/recompile_shaders.bat

66 lines
2.0 KiB
Batchfile

@echo off
setlocal enabledelayedexpansion
set TARGET=x64Clang-Release
REM Chemin relatif vers JulietShaderCompiler.exe
set COMPILER_PATH=bin\%TARGET%\JulietShaderCompiler.exe
echo Compiler Path: !COMPILER_PATH!
REM --- GESTION D'ERREUR : Vérification du compilateur ---
if not exist "!COMPILER_PATH!" (
echo.
echo ERREUR : Le compilateur est introuvable au chemin : !COMPILER_PATH!
echo Assurez-vous d'avoir bien bati le projet JulietShaderCompiler.
pause
exit /b 1
)
REM Dossier source contenant les fichiers .frag.hlsl et .vert.hlsl
set SOURCE_DIR=Assets\source
echo Source Dir: !SOURCE_DIR!
REM --- GESTION D'ERREUR : Vérification du dossier source ---
if not exist "!SOURCE_DIR!" (
echo.
echo ERREUR : Le dossier source est introuvable : !SOURCE_DIR!
pause
exit /b 1
)
REM Dossier de sortie pour les fichiers compilés
set OUTPUT_DIR=Assets\compiled
echo Output Dir: !OUTPUT_DIR!
REM Créer le dossier de sortie s'il n'existe pas
if not exist "%OUTPUT_DIR%" mkdir "%OUTPUT_DIR%"
REM Parcourir tous les fichiers .frag.hlsl et .vert.hlsl dans le dossier source
for %%F in ("%SOURCE_DIR%\*.frag.hlsl" "%SOURCE_DIR%\*.vert.hlsl") do (
REM Extraire le nom du fichier sans l'extension
set "FILENAME=%%~nF"
REM Extraire l'extension du fichier
set "EXTENSION=%%~xF"
REM Remplacer .frag.hlsl par frag et .vert.hlsl par vert
if "%%~xF"==".frag.hlsl" (
set "SHORT_EXTENSION=frag"
) else if "%%~xF"==".vert.hlsl" (
set "SHORT_EXTENSION=vert"
)
REM Construire la ligne de commande
set "COMMAND=%COMPILER_PATH% %SOURCE_DIR%\!FILENAME!!EXTENSION! -o %OUTPUT_DIR%\!FILENAME!!SHORT_EXTENSION!.dxil"
echo !COMMAND!
REM Afficher la ligne de commande pour le débogage
echo Compiling: !FILENAME!!EXTENSION!
REM Appeler JulietShaderCompiler.exe avec les arguments spécifiés
!COMMAND!
if !ERRORLEVEL! NEQ 0 (
echo ERREUR lors de la compilation de %%F
)
)
echo.
echo Operation terminee.
pause
endlocal