@@ -3,31 +3,22 @@ param (
33 [Parameter (Mandatory = $true , ValueFromPipeline = $true )][System.IO.FileInfo ]$File ,
44 [Parameter (Mandatory = $true )][string ]$Version ,
55 [Parameter (Mandatory = $false )][switch ]$Dynamic ,
6- [Parameter (Mandatory = $false )][System.UInt32 ]$Threads
6+ [Parameter (Mandatory = $false )][System.UInt32 ]$Threads = 0 ,
7+ [Parameter (Mandatory = $false )][System.UInt32 ]$Optimize = 3
78)
89
9- $Optimize = 3
10+ if ( $Version -notin @ ( " 20b " , " 30 " , " 40 " , " 41 " , " 50 " , " 51 " )) { return }
1011
11- if ($Version -notin @ (" 20b" , " 30" , " 40" , " 41" , " 50" , " 51" )) {
12- return
13- }
14-
15- $fileList = $File.OpenText ()
16- while ($null -ne ($line = $fileList.ReadLine ())) {
17- if ($line -match ' ^\s*$' -or $line -match ' ^\s*//' ) {
18- continue
19- }
20-
21- if ($Dynamic ) {
22- & " $PSScriptRoot \ShaderCompile" " -dynamic" " -ver" $Version " -shaderpath" $File.DirectoryName $line
23- continue
24- }
12+ foreach ($line in Get-Content $File ) {
13+ if ($line -match ' ^\s*$' -or $line -match ' ^\s*//' ) { continue }
2514
26- if ($Threads -ne 0 ) {
27- & " $PSScriptRoot \ShaderCompile" " -threads" $Threads " -ver" $Version " -shaderpath" $File.DirectoryName " -optimize" $Optimize $line
28- continue
29- }
15+ $args = @ ()
16+ if ($Dynamic ) { $args += " -dynamic" }
17+ if ($Threads -ne 0 ) { $args += " -threads" ; $args += $Threads }
18+ $args += " -ver" ; $args += $Version
19+ $args += " -shaderpath" ; $args += $File.DirectoryName
20+ if (-not $Dynamic ) { $args += " -optimize" ; $args += $Optimize }
21+ $args += $line
3022
31- & " $PSScriptRoot \ShaderCompile" " -ver " $Version " -shaderpath " $File .DirectoryName " -optimize " $Optimize $line
23+ & " $PSScriptRoot \ShaderCompile" $args
3224}
33- $fileList.Close ()
0 commit comments