我无法使用以下命令-如documentation中所示-分别转换纹理

texconv -pow2 -f BC1_UNORM cat.jpg


但是,我想转换一个充满纹理的整个文件夹。在this advice之后,我尝试使用通配符和文件目录:

texconv.exe -pow2 -f BC1_UNORM somepath\*.jpg


但是命令提示符说

reading somepath\*.jpg "FAILED" <8007007b>

最佳答案

鉴于我从未使用过texconv,这可能不是最有效的处理方式,但它应该可以工作。

#!/bin/bash

# Set IFS to newline
SAVEIFS=$IFS
IFS='
'
for i in $(echo *.jpg); do
    texconv -pow2 -f BC1_UNORM $i
done
# Restore IFS
IFS=$SAVEIFS


SAVEIFSIFS变量与bash的internal field separator有关。
在上面的代码中,我替换了默认的IFS以仅包含\n(换行符)

循环遍历匹配模式*.jpg的每个文件,并将其作为输入输入texconv

关于linux - 在命令行中使用DirectXTex Texconv批量转换纹理,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32612532/

10-15 17:06