声明:
© 2012 刘邓 hfutld@yeah. All rights reserved.
profile中文翻译翻译说明:
1."/"  这个符号出现在我翻译一个单词或者词组不确定时可能的选项
2.() 出现在一个汉语词组后,标示这个单词比较关键或者我不认识。
3.在一段中文译文后出现一段原文,说明这一段我翻译的不得要领,忘自己慎重考虑
FXC编译工具语法
高效的编译工具
Effect-Compiler Tool
是一个高效的支持所有Direct3D版本的 HLSL编译器
FXC () is an offline tool for compiling hlsl shaders and effects for all versions of Direct3D.
语法:
Syntax:
下面是的语法,如果想看例子请看下面的离线编译部分.
语法的基本格式为:
Fxc 可选项 文件名
可选项:
下面首先列举的是2个必须的选项,如果需要使用更多的选项则在两个选项之间加一个空格。
必选项
描述
/E <名称>
着器入口地址(这个是在HLSL代码中定义实现的)
/T<概况profile>
着器类型(见下文)
可选项
描述
@<命令.选项.文件>
@<command.option.file>
包含额外编译选项的文件
1.这个选项可以和其他选项混合使用
2.文件中一行只能包含一个选项
3.文件中不能有空行
4.选项开头和结尾不允许空格
/Cc
输出颜编码
Output color-coded assembly
/compress(压缩)
压缩文件中的DX10着器字节码(bytecode)
/D <id>=<text>
定义宏(macro)
/decompress
从文件中解压缩DX10着器字节码,输出文件必须是在压缩过程中的序列中
Output files should be listed in the order they were in during compression.
/Fc <file>
输出汇编表文件
Output assembly code listing file
/Fh<file>
输出包含结果代码(object code)的头文件
/Fo <file>
输出目标文件(object file)
/Fx<file>
输出汇编和16进制(Hex)表文件/编目文件(listing file)
/p <file>
预处理(Preprocess)文件(必须单独使用)
/Gdp
禁用效果表现模式
Disable effect performance mode
/Gec
启用向后兼容(background compatibility)模式
Enable backwards compatibility mode
/Ges
启用严格/绝对模式
Enable strict mode.
/Gfa
避免流控制结构
Avoid flow control constructs
/Gfp
偏好流控制结构
Prefer flow control constructs
/Gis
强制使用IEEE标准
Force IEEE strictness
/Gpp
强制局部精确
Force partial precision
/I <include>
额外包含路径
/LD
用Direct9 HLSL编译器编译。相关内容查看如何编译遗留(legacy)着器模块(See the limitations in Compiling for Legacy Shader Models.)
/Ni
启用汇编列表中的编号结构
Enables the numbering of instructions in assembly listings.
/nologo
禁查版权信息
Suppress copyright message.
/Od
禁用最优化。/Od 编译和/Gfp编译输出结构可能和/Od空格/Gfp的输出不一致
/Op
禁用预着
Disable preshaders.
/O0 /O1 ,/02,/03
优化等级。O1是默认设置
1.O0—禁用指令重排序功能。这能帮助减少注册量加快循环模拟(loop simulation)
2.O1—禁用PS(pixel shader)_3_0(像素着器3.0版本)及以上版本的指令重排功能。
3.O2—和O1一样保留以后用
4.O3—以后用
/Vd
禁用确认
Disable validation
/Vi
现实包含处理细节
/Vn <name>
把name以变量(variable)方式在头文件中使用
/Zi
启用调试信息
/Zpc
把矩阵(matrix复数为matrices)以列为主的队列中
/Zpr
把矩阵加入以行为主的队列中
文件名:
Filename:
包含着器和效果的文件名。
剖析(Profiles):
每一个着模型都被贴在一个HLSL版本上。为了编译一个和编译模型不同的特定着器,可以选择下面表中的剖面
着器类型
版本
定点着器
Vertex Shader
vs_1_1, vs_2_0, vs_2_a, vs_2_sw, vs_3_0, vs_3_sw, vs_4_0, vs_4_1
像素着器
Pixel Shader
ps_2_0, ps_2_a, ps_2_b, ps_2_sw, ps_3_0, ps_3_sw, ps_4_0, ps_4_1
纹理着器(新加的)
tx_1_0
几何着器
Geometry shader
gs_4_0, gs_4_1
效果(可能包含任意的顶点,像素和几何着器的混合)
fx_2_0, fx_4_0, fx_4_1
在Direct 10中使用API提供的如下函数D3D10GetVertexShaderProfile, D3D10GetPixelShaderProfile, and D3D10GetGeometryShaderProfile.可以很轻松的获得一个给定设备的顶点,像素,几何着器的版本号。
在Direct 9中则可以使用GetDeviceCaps or GetDeviceCaps 检索(retrieve)到一个设备的顶点和像素着器版本号。D3DCAPS 9这个结构体中的VertexShaderVersion and PixelShaderVersion 存储的就是顶点着器和像素着器的版本号。
要想查看现在的编译器请关注后面的Current编译一起遗留的部分请查阅Legacy
注意:TextureCubeArrays 在Vista sp1的fx_4_1版本中不可用。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。