다음을 통해 공유


문법

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(opt) . 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

    전체 64비트 정밀도 부동 소수점 리터럴을 지정하려면 "L" 접미사를 사용합니다. 32비트 float 리터럴이 기본값입니다.

    예를 들어, 컴파일러는 다음 리터럴 값을 32비트 정밀도 부동 소수점 리터럴로 인식하고 하위 비트를 무시합니다.

    double x = -0.6473313946860445;
    

    컴파일러는 다음 리터럴 값을 64비트 정밀도 부동 소수점 리터럴로 인식합니다.

    double x = -0.6473313946860445L;
    

정수

정수는 다음과 같이 HLSL로 표시됩니다.

  • integer-constant integer-suffix(opt)

  • integer-constant: one of

    #(10진수)

    0#(8진수)

    0x#(16진수)

  • integer-suffix는 다음 중 하나일 수 있습니다.

    u U l L

문자

문자는 다음과 같이 HLSL로 표현됩니다.

문자 설명
'c' (문자)
'\a' '\b' '\f' '\b' '\r' '\t' '\v' (이스케이프)
'\###' (8진수 이스케이프, 각 #은 8진수임)
'\x#' (16진수 이스케이프, #은 16진수임, 임의 자릿수)
'\c' (c는 백슬래시와 따옴표를 포함한 다른 문자임)

 

이스케이프는 전처리기 식에서 지원되지 않습니다.

문자열

문자열은 다음과 같이 HLSL로 표현됩니다.

"s"(s는 이스케이프가 있는 문자열임)입니다.

식별자

식별자는 다음과 같이 HLSL로 표시됩니다.

    [A-Za-z_][A-Za-z0-9_]*

연산자

##, #@, ++, --, &, &, &, ||, ==, ::, <<, <<=, >>, >>=, ..., 
<=, >=, !=, *=, /=, +=, -=, %=, &=, |=, ^=, ->

또한 다른 규칙과 일치하지 않는 다른 단일 문자도 있습니다.

부록(DirectX HLSL)