HLSL编译工具—FXC

来源:互联网 发布:外观专利能投诉淘宝吗 编辑:程序博客网 时间:2024/06/05 19:35


 

声明:

 

©

 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

版本中不可用。

 

1234567890ABCDEFGHIJKLMNabcdefghijklmn!@#$%^&&*()_+.一三五七九贰肆陆扒拾,。青玉案元夕东风夜放花千树更吹落星如雨宝马雕车香满路凤箫声动玉壶光转一夜鱼龙舞蛾儿雪柳黄金缕笑语盈盈暗香去众里寻他千百度暮然回首那人却在灯火阑珊处

 

声明:

 

©

 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

版本中不可用。

 

1234567890ABCDEFGHIJKLMNabcdefghijklmn!@#$%^&&*()_+.一三五七九贰肆陆扒拾,。青玉案元夕东风夜放花千树更吹落星如雨宝马雕车香满路凤箫声动玉壶光转一夜鱼龙舞蛾儿雪柳黄金缕笑语盈盈暗香去众里寻他千百度暮然回首那人却在灯火阑珊处
0 0
原创粉丝点击