语法
使用以下语法规则构造 HLSL 语句。
空格
以下字符被识别为空格。
- SPACE
- Tab
- EOL
- C 样式注释 (/* */)
- C++ 样式注释 (//)
浮点数
浮点数以 HLSL 表示,如下所示:
fractional-constant exponent-part (opt) floating-suffix (opt)
digit-sequence exponent-part floating-suffix (opt)
fractional-constant:
数字序列 (选择) 。 digit-sequence
digit-sequence 。
exponent-part :
e sign (opt) digit-sequence
E 符号 (opt) digit-sequence
sign:一个
+ -
digit-sequence :
digit
digit-sequence digit
floating-suffix一个
h H F F l L L
使用“L”后缀指定完整的 64 位精度浮点文本。 默认值为 32 位浮点文本。
例如,编译器将以下文本值识别为 32 位精度浮点文本,并忽略低位:
double x = -0.6473313946860445;
编译器将以下文本值识别为 64 位精度浮点文本:
double x = -0.6473313946860445L;
整数数字
整数以 HLSL 表示,如下所示:
integer-constant integer-suffix (opt)
integer-constant:之一
# (十进制数)
0# (八进制数)
0x# (十六进制数字)
integer-suffix 可以是以下任一项:
u U l L
字符
字符在 HLSL 中表示,如下所示:
字符 | 说明 |
---|---|
“c” | (字符) |
'\a' '\b' '\f' '\b' '\r' '\t' '\v' | (转义) |
'\###' | (八进制转义,每个 # 都是八进制数字) |
'\x#' | (十六进制转义,# 是十六进制数,任意数字) |
'\c' | (c 是其他字符,包括反斜杠和引号) |
预处理器表达式不支持转义。
字符串
字符串以 HLSL 表示,如下所示:
“s” (是具有转义) 的任何字符串。
标识符
标识符在 HLSL 中表示,如下所示:
[A-Za-z_][A-Za-z0-9_]*
运算符
##, #@, ++, --, &, &, &, ||, ==, ::, <<, <<=, >>, >>=, ...,
<=, >=, !=, *=, /=, +=, -=, %=, &=, |=, ^=, ->
此外,任何其他与另一个规则不匹配的单个字符。
相关主题