文法
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 sign (opt) digit-sequence
sign:下列其中一個
+ -
digit-sequence :
digit
digit-sequence digit
floating-suffix:下列其中一個
h H f F 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
Characters
字元以 HLSL 表示,如下所示:
字元 | 描述 |
---|---|
'c' | (字元) |
'\a' '\b' '\f' '\b' '\r' '\t' '\v' | (逸出) |
'\###' | (八進位逸出,每個 # 都是八進位數位) |
'\x#' | (十六進位逸出,# 是十六進位數位,) |
'\c' | (c 是其他字元,包括反斜線和引號) |
預處理器運算式不支援逸出。
字串
字串以 HLSL 表示,如下所示:
「s」 (是具有逸出) 的任何字串。
識別碼
識別碼以 HLSL 表示,如下所示:
[A-Za-z_][A-Za-z0-9_]*
運算子
##, #@, ++, --, &, &, &, ||, ==, ::, <<, <<=, >>, >>=, ...,
<=, >=, !=, *=, /=, +=, -=, %=, &=, |=, ^=, ->
此外,任何其他不符合另一個規則的單一字元。
相關主題