HLSL 编译器属性页
可以使用 HLSL 编译器 (fxc.exe) 属性页来配置单个 HLSL 着色器文件生成的方式。 还可以使用“命令行”属性页的“附加选项”属性,指定 HLSL 编译器的命令行参数;这包括无法使用由 HLSL 属性页的其他属性配置的参数。 有关 HLSL 编译器的其他信息,请参阅效果编译器工具
HLSL“常规属性”页
附加包含目录
指定一个或多个要添加到包含路径中的目录;存在多个目录时,请用分号分隔。 (/I[路径])
入口点名称
为着色器指定入口点名称 (/E[name])
禁用优化
若要启用优化,则为“是(/Od)”;否则为“否”。 默认情况下,“调试”配置的值为“是(/Od)”,而“发布”配置的值为“否”。
HLSL 编译器的“/Od”命令行参数隐式应用“/Gfp”命令行参数,但输出可能与通过显示传递“/Od”和“/Gfp”命令行参数生成的输出不同。
启用调试信息
若启用调试信息,则为“是(/Od)”;否则为“否”。 默认情况下,“调试”配置的值为“是(/Zi)”,而“发布”配置的值为“否”。
着色器类型
指定着色器类型。 不同种类的着色器实现图形管道的不同部分。 某些类型的着色器仅可用于较新的着色器模型(由“着色器模型”属性指定),例如,计算着色器在着色器模型 5 中引入。
此属性对应于 HLSL 编译器的“/T [type]_[model]”命令行参数的“[type]”部分。 “着色器模型”属性指定参数的“[model]”部分。
选择项
- 效果
- 顶点着色器
- 像素着色器
- 几何着色器
- 外壳着色器
- 域着色器
- 计算着色器
- Library
- 生成根签名对象
着色器模型
指定着色器模型。 不同的着色器模型具有不同的功能。 一般情况下,较新的着色器模型提供扩展功能,但需要更新式图形硬件来运行着色器代码。 某些类型的着色器(由“着色器类型”属性指定)仅可用于较新的着色器模型,例如,计算着色器在着色器模型 5 中引入。
此属性对应于 HLSL 编译器的“/T [type]_[model]”命令行参数的“[model]”部分。 “着色器类型”属性指定参数的“[type]”部分。
已绑定的所有资源
编译器假定着色器可引用的所有资源已绑定,并且在着色器执行期间处于良好状态 (/all_resources_bound)。 适用于着色器模型 5.1 及更高版本。
启用未绑定的描述符表
通知编译器着色器可以包含具有开区间的资源数组声明 (/enable_unbounded_descriptor_tables)。 适用于着色器模型 5.1 及更高版本。
设置根签名
将根签名附加到着色器字节码 (/setrootsignature)。 适用于着色器模型 5.0 及更高版本。
预处理器定义
添加一个或多个预处理器符号定义以应用于 HLSL 源代码文件。 使用分号来隔开符号定义。
此属性对应于 HLSL 编译器的“/D [definitions]”命令行参数。
编译 Direct2D 自定义像素着色器效果
编译包含像素着色器的 Direct2D 自定义效果。 请勿用于顶点或计算自定义效果。
多处理器编译
同时运行多个实例。
高级属性页
取消显示启动版权标志
取消显示启动版权标志和信息消息。 (/nologo)
将警告视为错误
将所有编译器警告视为错误。 对于新项目,最好在所有编译中使用 /WX;对所有警告进行解析可确保将可能难以发现的代码缺陷减至最少。
“输出文件”属性页
标头变量名称
为头文件中的变量名称指定名称 (/Vn [name])
头文件名
为包含对象代码的头文件指定名称。 (/Fh [name])
对象文件名
为对象文件指定名称。 (/Fo [name])
汇编程序输出
指定汇编语言输出文件的内容。 (/Fc, /Fx)
选择项
- 无列表 - 无列表。
- 仅程序集列表 - 程序集代码文件
- 程序集代码和十六进制 - 程序集代码和十六进制列表文件
汇编程序输出文件
指定程序集代码列表文件的文件名