다음을 통해 공유


EvaluateAttributeSnapped 함수

오프셋이 있는 픽셀 중심에서 평가합니다.

구문

numeric EvaluateAttributeSnapped(
  in attrib numeric value,
  in 
            int2 offset
);

매개 변수

value [in]

형식: attrib numeric

입력 값입니다.

offset [in]

형식: int2

16x16 그리드를 사용하는 픽셀 센터의 2D 오프셋입니다.

설명

offset 매개 변수의 범위는 다음 바이트 코드로 정의되어야 합니다.

픽셀 오프셋의 처음 두 성분(U, V)의 최하위 4비트만 사용됩니다. 4비트 고정 소수점에서 부동 소수점으로의 변환은 다음과 같습니다(MSB...LSB). 여기서 MSB는 분수의 일부이며 부호를 결정합니다.

  • 1000 = -0.5f(-8 / 16)
  • 1001 = -0.4375f(-7 / 16)
  • 1010 = -0.375f(-6 / 16)
  • 1011 = -0.3125f(-5 / 16)
  • 1100 = -0.25f(-4 / 16)
  • 1101 = -0.1875f(-3 / 16)
  • 1110 = -0.125f(-2 / 16)
  • 1111 = -0.0625f(-1 / 16)
  • 0000 = 0.0f( 0 / 16)
  • 0001 = 0.0625f( 1 / 16)
  • 0010 = 0.125f( 2 / 16)
  • 0011 = 0.1875f( 3 / 16)
  • 0100 = 0.25f( 4 / 16)
  • 0101 = 0.3125f( 5 / 16)
  • 0110 = 0.375f( 6 / 16)
  • 0111 = 0.4375f( 7 / 16)

참고

픽셀의 왼쪽 및 위쪽 가장자리는 오프셋에 포함됩니다. 그러나 아래쪽 및 오른쪽 가장자리는 포함되지 않습니다. 32비트 정수 U 및 V 오프셋 값의 다른 모든 비트는 무시됩니다.

 

구현은 다음 계산을 수행하여 셰이더에서 제공하는 오프셋을 가져오고 유효한 범위에 걸쳐 있는 전체 32비트 고정 소수점 값(28.4)을 가져올 수 있습니다.

iU = (iU<<28)>>28  // keep lowest 4 bits and sign extend, which yields [-8..7]

구현에서 오프셋을 부동 소수점 오프셋에 매핑해야 하는 경우 다음 계산을 수행합니다.

fU = ((float)iU)/16

최소 셰이더 모델

이 함수는 다음 셰이더 모델에서 지원됩니다.

셰이더 모델 지원됨
셰이더 모델 5 이상의 셰이더 모델

 

이 함수는 다음 형식의 셰이더에서 지원됩니다.

꼭짓점 Hull 도메인 기하 도형 픽셀 컴퓨팅
x

 

추가 정보

내장 함수

셰이더 모델 5