mirror of
https://github.com/ncblakely/GiantsTools
synced 2024-12-23 15:57:22 +01:00
311 lines
13 KiB
Batchfile
311 lines
13 KiB
Batchfile
@echo off
|
|
rem Copyright (c) Microsoft Corporation. All rights reserved.
|
|
rem Licensed under the MIT License.
|
|
|
|
setlocal
|
|
set error=0
|
|
|
|
set FXCOPTS=/nologo /WX /Ges /Zi /Zpc /Qstrip_reflect /Qstrip_debug
|
|
|
|
if %1.==xbox. goto continuexbox
|
|
if %1.==. goto continuepc
|
|
echo usage: CompileShaders [xbox]
|
|
exit /b
|
|
|
|
:continuexbox
|
|
set XBOXOPTS=/D__XBOX_DISABLE_SHADER_NAME_EMPLACEMENT
|
|
if NOT %2.==noprecompile. goto skipnoprecompile
|
|
set XBOXOPTS=%XBOXOPTS% /D__XBOX_DISABLE_PRECOMPILE=1
|
|
:skipnoprecompile
|
|
|
|
set XBOXFXC="%XboxOneXDKLatest%\xdk\FXC\amd64\FXC.exe"
|
|
if exist %XBOXFXC% goto continue
|
|
set XBOXFXC="%XboxOneXDKLatest%xdk\FXC\amd64\FXC.exe"
|
|
if exist %XBOXFXC% goto continue
|
|
set XBOXFXC="%XboxOneXDKBuild%xdk\FXC\amd64\FXC.exe"
|
|
if exist %XBOXFXC% goto continue
|
|
set XBOXFXC="%DurangoXDK%xdk\FXC\amd64\FXC.exe"
|
|
if not exist %XBOXFXC% goto needxdk
|
|
goto continue
|
|
|
|
:continuepc
|
|
|
|
set PCFXC="%WindowsSdkVerBinPath%x86\fxc.exe"
|
|
if exist %PCFXC% goto continue
|
|
set PCFXC="%WindowsSdkBinPath%%WindowsSDKVersion%\x86\fxc.exe"
|
|
if exist %PCFXC% goto continue
|
|
set PCFXC="%WindowsSdkDir%bin\%WindowsSDKVersion%\x86\fxc.exe"
|
|
if exist %PCFXC% goto continue
|
|
|
|
set PCFXC=fxc.exe
|
|
|
|
:continue
|
|
@if not exist Compiled mkdir Compiled
|
|
call :CompileShader%1 AlphaTestEffect vs VSAlphaTest
|
|
call :CompileShader%1 AlphaTestEffect vs VSAlphaTestNoFog
|
|
call :CompileShader%1 AlphaTestEffect vs VSAlphaTestVc
|
|
call :CompileShader%1 AlphaTestEffect vs VSAlphaTestVcNoFog
|
|
|
|
call :CompileShader%1 AlphaTestEffect ps PSAlphaTestLtGt
|
|
call :CompileShader%1 AlphaTestEffect ps PSAlphaTestLtGtNoFog
|
|
call :CompileShader%1 AlphaTestEffect ps PSAlphaTestEqNe
|
|
call :CompileShader%1 AlphaTestEffect ps PSAlphaTestEqNeNoFog
|
|
|
|
call :CompileShader%1 BasicEffect vs VSBasic
|
|
call :CompileShader%1 BasicEffect vs VSBasicNoFog
|
|
call :CompileShader%1 BasicEffect vs VSBasicVc
|
|
call :CompileShader%1 BasicEffect vs VSBasicVcNoFog
|
|
call :CompileShader%1 BasicEffect vs VSBasicTx
|
|
call :CompileShader%1 BasicEffect vs VSBasicTxNoFog
|
|
call :CompileShader%1 BasicEffect vs VSBasicTxVc
|
|
call :CompileShader%1 BasicEffect vs VSBasicTxVcNoFog
|
|
|
|
call :CompileShader%1 BasicEffect vs VSBasicVertexLighting
|
|
call :CompileShader%1 BasicEffect vs VSBasicVertexLightingBn
|
|
call :CompileShader%1 BasicEffect vs VSBasicVertexLightingVc
|
|
call :CompileShader%1 BasicEffect vs VSBasicVertexLightingVcBn
|
|
call :CompileShader%1 BasicEffect vs VSBasicVertexLightingTx
|
|
call :CompileShader%1 BasicEffect vs VSBasicVertexLightingTxBn
|
|
call :CompileShader%1 BasicEffect vs VSBasicVertexLightingTxVc
|
|
call :CompileShader%1 BasicEffect vs VSBasicVertexLightingTxVcBn
|
|
|
|
call :CompileShader%1 BasicEffect vs VSBasicOneLight
|
|
call :CompileShader%1 BasicEffect vs VSBasicOneLightBn
|
|
call :CompileShader%1 BasicEffect vs VSBasicOneLightVc
|
|
call :CompileShader%1 BasicEffect vs VSBasicOneLightVcBn
|
|
call :CompileShader%1 BasicEffect vs VSBasicOneLightTx
|
|
call :CompileShader%1 BasicEffect vs VSBasicOneLightTxBn
|
|
call :CompileShader%1 BasicEffect vs VSBasicOneLightTxVc
|
|
call :CompileShader%1 BasicEffect vs VSBasicOneLightTxVcBn
|
|
|
|
call :CompileShader%1 BasicEffect vs VSBasicPixelLighting
|
|
call :CompileShader%1 BasicEffect vs VSBasicPixelLightingBn
|
|
call :CompileShader%1 BasicEffect vs VSBasicPixelLightingVc
|
|
call :CompileShader%1 BasicEffect vs VSBasicPixelLightingVcBn
|
|
call :CompileShader%1 BasicEffect vs VSBasicPixelLightingTx
|
|
call :CompileShader%1 BasicEffect vs VSBasicPixelLightingTxBn
|
|
call :CompileShader%1 BasicEffect vs VSBasicPixelLightingTxVc
|
|
call :CompileShader%1 BasicEffect vs VSBasicPixelLightingTxVcBn
|
|
|
|
call :CompileShader%1 BasicEffect ps PSBasic
|
|
call :CompileShader%1 BasicEffect ps PSBasicNoFog
|
|
call :CompileShader%1 BasicEffect ps PSBasicTx
|
|
call :CompileShader%1 BasicEffect ps PSBasicTxNoFog
|
|
|
|
call :CompileShader%1 BasicEffect ps PSBasicVertexLighting
|
|
call :CompileShader%1 BasicEffect ps PSBasicVertexLightingNoFog
|
|
call :CompileShader%1 BasicEffect ps PSBasicVertexLightingTx
|
|
call :CompileShader%1 BasicEffect ps PSBasicVertexLightingTxNoFog
|
|
|
|
call :CompileShader%1 BasicEffect ps PSBasicPixelLighting
|
|
call :CompileShader%1 BasicEffect ps PSBasicPixelLightingTx
|
|
|
|
call :CompileShader%1 DualTextureEffect vs VSDualTexture
|
|
call :CompileShader%1 DualTextureEffect vs VSDualTextureNoFog
|
|
call :CompileShader%1 DualTextureEffect vs VSDualTextureVc
|
|
call :CompileShader%1 DualTextureEffect vs VSDualTextureVcNoFog
|
|
|
|
call :CompileShader%1 DualTextureEffect ps PSDualTexture
|
|
call :CompileShader%1 DualTextureEffect ps PSDualTextureNoFog
|
|
|
|
call :CompileShader%1 EnvironmentMapEffect vs VSEnvMap
|
|
call :CompileShader%1 EnvironmentMapEffect vs VSEnvMapBn
|
|
call :CompileShader%1 EnvironmentMapEffect vs VSEnvMapFresnel
|
|
call :CompileShader%1 EnvironmentMapEffect vs VSEnvMapFresnelBn
|
|
call :CompileShader%1 EnvironmentMapEffect vs VSEnvMapOneLight
|
|
call :CompileShader%1 EnvironmentMapEffect vs VSEnvMapOneLightBn
|
|
call :CompileShader%1 EnvironmentMapEffect vs VSEnvMapOneLightFresnel
|
|
call :CompileShader%1 EnvironmentMapEffect vs VSEnvMapOneLightFresnelBn
|
|
call :CompileShader%1 EnvironmentMapEffect vs VSEnvMapPixelLighting
|
|
call :CompileShader%1 EnvironmentMapEffect vs VSEnvMapPixelLightingBn
|
|
call :CompileShaderSM4%1 EnvironmentMapEffect vs VSEnvMapPixelLightingSM4
|
|
call :CompileShaderSM4%1 EnvironmentMapEffect vs VSEnvMapPixelLightingBnSM4
|
|
|
|
call :CompileShader%1 EnvironmentMapEffect ps PSEnvMap
|
|
call :CompileShader%1 EnvironmentMapEffect ps PSEnvMapNoFog
|
|
call :CompileShader%1 EnvironmentMapEffect ps PSEnvMapSpecular
|
|
call :CompileShader%1 EnvironmentMapEffect ps PSEnvMapSpecularNoFog
|
|
call :CompileShader%1 EnvironmentMapEffect ps PSEnvMapPixelLighting
|
|
call :CompileShader%1 EnvironmentMapEffect ps PSEnvMapPixelLightingNoFog
|
|
call :CompileShader%1 EnvironmentMapEffect ps PSEnvMapPixelLightingFresnel
|
|
call :CompileShader%1 EnvironmentMapEffect ps PSEnvMapPixelLightingFresnelNoFog
|
|
|
|
call :CompileShader%1 EnvironmentMapEffect ps PSEnvMapSpherePixelLighting
|
|
call :CompileShader%1 EnvironmentMapEffect ps PSEnvMapSpherePixelLightingNoFog
|
|
call :CompileShader%1 EnvironmentMapEffect ps PSEnvMapSpherePixelLightingFresnel
|
|
call :CompileShader%1 EnvironmentMapEffect ps PSEnvMapSpherePixelLightingFresnelNoFog
|
|
|
|
call :CompileShaderSM4%1 EnvironmentMapEffect ps PSEnvMapDualParabolaPixelLighting
|
|
call :CompileShaderSM4%1 EnvironmentMapEffect ps PSEnvMapDualParabolaPixelLightingNoFog
|
|
call :CompileShaderSM4%1 EnvironmentMapEffect ps PSEnvMapDualParabolaPixelLightingFresnel
|
|
call :CompileShaderSM4%1 EnvironmentMapEffect ps PSEnvMapDualParabolaPixelLightingFresnelNoFog
|
|
|
|
call :CompileShader%1 SkinnedEffect vs VSSkinnedVertexLightingOneBone
|
|
call :CompileShader%1 SkinnedEffect vs VSSkinnedVertexLightingOneBoneBn
|
|
call :CompileShader%1 SkinnedEffect vs VSSkinnedVertexLightingTwoBones
|
|
call :CompileShader%1 SkinnedEffect vs VSSkinnedVertexLightingTwoBonesBn
|
|
call :CompileShader%1 SkinnedEffect vs VSSkinnedVertexLightingFourBones
|
|
call :CompileShader%1 SkinnedEffect vs VSSkinnedVertexLightingFourBonesBn
|
|
|
|
call :CompileShader%1 SkinnedEffect vs VSSkinnedOneLightOneBone
|
|
call :CompileShader%1 SkinnedEffect vs VSSkinnedOneLightOneBoneBn
|
|
call :CompileShader%1 SkinnedEffect vs VSSkinnedOneLightTwoBones
|
|
call :CompileShader%1 SkinnedEffect vs VSSkinnedOneLightTwoBonesBn
|
|
call :CompileShader%1 SkinnedEffect vs VSSkinnedOneLightFourBones
|
|
call :CompileShader%1 SkinnedEffect vs VSSkinnedOneLightFourBonesBn
|
|
|
|
call :CompileShader%1 SkinnedEffect vs VSSkinnedPixelLightingOneBone
|
|
call :CompileShader%1 SkinnedEffect vs VSSkinnedPixelLightingOneBoneBn
|
|
call :CompileShader%1 SkinnedEffect vs VSSkinnedPixelLightingTwoBones
|
|
call :CompileShader%1 SkinnedEffect vs VSSkinnedPixelLightingTwoBonesBn
|
|
call :CompileShader%1 SkinnedEffect vs VSSkinnedPixelLightingFourBones
|
|
call :CompileShader%1 SkinnedEffect vs VSSkinnedPixelLightingFourBonesBn
|
|
|
|
call :CompileShader%1 SkinnedEffect ps PSSkinnedVertexLighting
|
|
call :CompileShader%1 SkinnedEffect ps PSSkinnedVertexLightingNoFog
|
|
call :CompileShader%1 SkinnedEffect ps PSSkinnedPixelLighting
|
|
|
|
call :CompileShaderSM4%1 NormalMapEffect vs VSNormalPixelLightingTx
|
|
call :CompileShaderSM4%1 NormalMapEffect vs VSNormalPixelLightingTxBn
|
|
call :CompileShaderSM4%1 NormalMapEffect vs VSNormalPixelLightingTxVc
|
|
call :CompileShaderSM4%1 NormalMapEffect vs VSNormalPixelLightingTxVcBn
|
|
|
|
call :CompileShaderSM4%1 NormalMapEffect ps PSNormalPixelLightingTx
|
|
call :CompileShaderSM4%1 NormalMapEffect ps PSNormalPixelLightingTxNoFog
|
|
call :CompileShaderSM4%1 NormalMapEffect ps PSNormalPixelLightingTxNoSpec
|
|
call :CompileShaderSM4%1 NormalMapEffect ps PSNormalPixelLightingTxNoFogSpec
|
|
|
|
call :CompileShaderSM4%1 PBREffect vs VSConstant
|
|
call :CompileShaderSM4%1 PBREffect vs VSConstantVelocity
|
|
call :CompileShaderSM4%1 PBREffect vs VSConstantBn
|
|
call :CompileShaderSM4%1 PBREffect vs VSConstantVelocityBn
|
|
|
|
call :CompileShaderSM4%1 PBREffect ps PSConstant
|
|
call :CompileShaderSM4%1 PBREffect ps PSTextured
|
|
call :CompileShaderSM4%1 PBREffect ps PSTexturedEmissive
|
|
call :CompileShaderSM4%1 PBREffect ps PSTexturedVelocity
|
|
call :CompileShaderSM4%1 PBREffect ps PSTexturedEmissiveVelocity
|
|
|
|
call :CompileShaderSM4%1 DebugEffect vs VSDebug
|
|
call :CompileShaderSM4%1 DebugEffect vs VSDebugBn
|
|
call :CompileShaderSM4%1 DebugEffect vs VSDebugVc
|
|
call :CompileShaderSM4%1 DebugEffect vs VSDebugVcBn
|
|
|
|
call :CompileShaderSM4%1 DebugEffect ps PSHemiAmbient
|
|
call :CompileShaderSM4%1 DebugEffect ps PSRGBNormals
|
|
call :CompileShaderSM4%1 DebugEffect ps PSRGBTangents
|
|
call :CompileShaderSM4%1 DebugEffect ps PSRGBBiTangents
|
|
|
|
call :CompileShader%1 SpriteEffect vs SpriteVertexShader
|
|
call :CompileShader%1 SpriteEffect ps SpritePixelShader
|
|
|
|
call :CompileShader%1 DGSLEffect vs main
|
|
call :CompileShader%1 DGSLEffect vs mainVc
|
|
call :CompileShader%1 DGSLEffect vs main1Bones
|
|
call :CompileShader%1 DGSLEffect vs main1BonesVc
|
|
call :CompileShader%1 DGSLEffect vs main2Bones
|
|
call :CompileShader%1 DGSLEffect vs main2BonesVc
|
|
call :CompileShader%1 DGSLEffect vs main4Bones
|
|
call :CompileShader%1 DGSLEffect vs main4BonesVc
|
|
|
|
call :CompileShaderHLSL%1 DGSLUnlit ps main
|
|
call :CompileShaderHLSL%1 DGSLLambert ps main
|
|
call :CompileShaderHLSL%1 DGSLPhong ps main
|
|
|
|
call :CompileShaderHLSL%1 DGSLUnlit ps mainTk
|
|
call :CompileShaderHLSL%1 DGSLLambert ps mainTk
|
|
call :CompileShaderHLSL%1 DGSLPhong ps mainTk
|
|
|
|
call :CompileShaderHLSL%1 DGSLUnlit ps mainTx
|
|
call :CompileShaderHLSL%1 DGSLLambert ps mainTx
|
|
call :CompileShaderHLSL%1 DGSLPhong ps mainTx
|
|
|
|
call :CompileShaderHLSL%1 DGSLUnlit ps mainTxTk
|
|
call :CompileShaderHLSL%1 DGSLLambert ps mainTxTk
|
|
call :CompileShaderHLSL%1 DGSLPhong ps mainTxTk
|
|
|
|
call :CompileShaderSM4%1 PostProcess vs VSQuad
|
|
call :CompileShaderSM4%1 PostProcess ps PSCopy
|
|
call :CompileShaderSM4%1 PostProcess ps PSMonochrome
|
|
call :CompileShaderSM4%1 PostProcess ps PSSepia
|
|
call :CompileShaderSM4%1 PostProcess ps PSDownScale2x2
|
|
call :CompileShaderSM4%1 PostProcess ps PSDownScale4x4
|
|
call :CompileShaderSM4%1 PostProcess ps PSGaussianBlur5x5
|
|
call :CompileShaderSM4%1 PostProcess ps PSBloomExtract
|
|
call :CompileShaderSM4%1 PostProcess ps PSBloomBlur
|
|
call :CompileShaderSM4%1 PostProcess ps PSMerge
|
|
call :CompileShaderSM4%1 PostProcess ps PSBloomCombine
|
|
|
|
call :CompileShaderSM4%1 ToneMap vs VSQuad
|
|
call :CompileShaderSM4%1 ToneMap ps PSCopy
|
|
call :CompileShaderSM4%1 ToneMap ps PSSaturate
|
|
call :CompileShaderSM4%1 ToneMap ps PSReinhard
|
|
call :CompileShaderSM4%1 ToneMap ps PSACESFilmic
|
|
call :CompileShaderSM4%1 ToneMap ps PS_SRGB
|
|
call :CompileShaderSM4%1 ToneMap ps PSSaturate_SRGB
|
|
call :CompileShaderSM4%1 ToneMap ps PSReinhard_SRGB
|
|
call :CompileShaderSM4%1 ToneMap ps PSACESFilmic_SRGB
|
|
call :CompileShaderSM4%1 ToneMap ps PSHDR10
|
|
|
|
if NOT %1.==xbox. goto skipxboxonly
|
|
|
|
call :CompileShaderSM4xbox ToneMap ps PSHDR10_Saturate
|
|
call :CompileShaderSM4xbox ToneMap ps PSHDR10_Reinhard
|
|
call :CompileShaderSM4xbox ToneMap ps PSHDR10_ACESFilmic
|
|
call :CompileShaderSM4xbox ToneMap ps PSHDR10_Saturate_SRGB
|
|
call :CompileShaderSM4xbox ToneMap ps PSHDR10_Reinhard_SRGB
|
|
call :CompileShaderSM4xbox ToneMap ps PSHDR10_ACESFilmic_SRGB
|
|
|
|
:skipxboxonly
|
|
|
|
echo.
|
|
|
|
if %error% == 0 (
|
|
echo Shaders compiled ok
|
|
) else (
|
|
echo There were shader compilation errors!
|
|
)
|
|
|
|
endlocal
|
|
exit /b
|
|
|
|
:CompileShader
|
|
set fxc=%PCFXC% %1.fx %FXCOPTS% /T%2_4_0_level_9_1 /E%3 /FhCompiled\%1_%3.inc /FdCompiled\%1_%3.pdb /Vn%1_%3
|
|
echo.
|
|
echo %fxc%
|
|
%fxc% || set error=1
|
|
exit /b
|
|
|
|
:CompileShaderSM4
|
|
set fxc=%PCFXC% %1.fx %FXCOPTS% /T%2_4_0 /E%3 /FhCompiled\%1_%3.inc /FdCompiled\%1_%3.pdb /Vn%1_%3
|
|
echo.
|
|
echo %fxc%
|
|
%fxc% || set error=1
|
|
exit /b
|
|
|
|
:CompileShaderHLSL
|
|
set fxc=%PCFXC% %1.hlsl %FXCOPTS% /T%2_4_0_level_9_1 /E%3 /FhCompiled\%1_%3.inc /FdCompiled\%1_%3.pdb /Vn%1_%3
|
|
echo.
|
|
echo %fxc%
|
|
%fxc% || set error=1
|
|
exit /b
|
|
|
|
:CompileShaderxbox
|
|
:CompileShaderSM4xbox
|
|
set fxc=%XBOXFXC% %1.fx %FXCOPTS% /T%2_5_0 %XBOXOPTS% /E%3 /FhCompiled\XboxOne%1_%3.inc /FdCompiled\XboxOne%1_%3.pdb /Vn%1_%3
|
|
echo.
|
|
echo %fxc%
|
|
%fxc% || set error=1
|
|
exit /b
|
|
|
|
:CompileShaderHLSLxbox
|
|
set fxc=%XBOXFXC% %1.hlsl %FXCOPTS% /T%2_5_0 %XBOXOPTS% /E%3 /FhCompiled\XboxOne%1_%3.inc /FdCompiled\XboxOne%1_%3.pdb /Vn%1_%3
|
|
echo.
|
|
echo %fxc%
|
|
%fxc% || set error=1
|
|
exit /b
|
|
|
|
:needxdk
|
|
echo ERROR: CompileShaders xbox requires the Microsoft Xbox One XDK
|
|
echo (try re-running from the XDK Command Prompt)
|