声明:
© 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小时内删除。
发表评论