-
在项目中添加自定义生成工具-python实现pdf转换成word/txt纯文本文件下载
资源介绍
图 6.6 在项目中添加自定义生成工具
调试模式:
fxc /Fc /Od /Zi /T fx_5_0 /Fo " % (RelativeDir)\% (Filename).fxo " " % (FuIIPath) "
发布模式:
fxc /T fx_5_0 /Fo " o/o (RelativeDir)\% (Filename).fxo” " % (FuIIPath) "
你可以在 SDK 文档中找到 fxc 完整的编译参数说明。在调试模式中我们使用了以下三
个参数,“/Fc /Od /Zi”分别对应输出汇编指令,禁用优化,开启调试信息。
现在当生成项目时,就会在每个 effect 上调用 fxc 并生成它的编译版本,以后缀为.fxo
的文件的形式保存。而且,如果有来自于 fxc 的编译警告或错误,会在调试输出窗口显示
相关信息。例如,如果在 color.fx 文件中打错了一个变量的名称:
// 应该是 gWorldViewProj而不是 worldViewProj!
vout.PosH = mul(float4(vin.Pos, l.Of), worldViewProj);
在调试输出窗口就会显示从这个错误引发的一系列错误的信息(第一条错误信息是修
正的关键):
error X3004: undeclared identifier 'worldViewProj'
error X3013: 'mul': intrinsic function does not take 2 parameters
error X3013: Possible intrinsic functions are:
error X3013: mul(float, float)…
在编译阶段获取错误信息要比运行时获取方便得多。现在我们在生成过程中编译
effect 文件(.fxo),再也不需要在运行时进行这个操作了(即,我们无须再调用
D3DX11CompileFromFile 方法了)。但是,我们仍需要从.fxo 文件中加载编译过的 shader,
并将它们传递给 D3DX11CreateEffectFromMemory 方法。这个工作可以通过使用 C++的文件
161 / 351