声明:
©
2012
刘邓
hfutld@yeah.net. All rights reserved.
翻译说明:
1."/"
这个符号出现在我翻译一个单词或者词组不确定时可能的选项
2.
()
出现在一个汉语词组后,标示这个单词比较关键或者我不认识。
3.
在一段中文译文后出现一段原文,说明这一段我翻译的不得要领,忘自己慎重考虑
FXC
编译工具语法
高效的编译工具
Effect-Compiler Tool
FXC.exe
是一个高效的支持所有
Direct3D
版本的
HLSL
编译器
FXC (fxc.exe) is an offline tool for compiling
hlsl
shaders and
effects
for all versions of Direct3D.
语法:
Syntax
:
下面是
FXC.exe
的语法,如果想看例子请看下面的离线编译部分
.
语法的基本格式为:
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
版本中不可用。
声明:
©
2012
刘邓
hfutld@yeah.net. All rights reserved.
翻译说明:
1."/"
这个符号出现在我翻译一个单词或者词组不确定时可能的选项
2.
()
出现在一个汉语词组后,标示这个单词比较关键或者我不认识。
3.
在一段中文译文后出现一段原文,说明这一段我翻译的不得要领,忘自己慎重考虑
FXC
编译工具语法
高效的编译工具
Effect-Compiler Tool
FXC.exe
是一个高效的支持所有
Direct3D
版本的
HLSL
编译器
FXC (fxc.exe) is an offline tool for compiling
hlsl
shaders and
effects
for all versions of Direct3D.
语法:
Syntax
:
下面是
FXC.exe
的语法,如果想看例子请看下面的离线编译部分
.
语法的基本格式为:
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
版本中不可用。