lit - vs

두 개의 내적과 하나의 지수로 조명 계수를 계산하여 조명을 부분적으로 지원합니다.

Syntax

lit dst, src

 

라는 설치 관리자 실행 파일에 포함됩니다. 여기서

  • dst는 대상 레지스터입니다.
  • src는 원본 레지스터입니다.

설명

꼭짓점 셰이더 버전 1_1 2_0 2_x 2_sw 3_0 3_sw
lit x x x x x x

 

원본 벡터는 다음 의사 코드에 표시된 값을 포함하는 것으로 간주됩니다.

src.x = N*L        ; The dot product between normal and direction to light
src.y = N*H        ; The dot product between normal and half vector
src.z = ignored    ; This value is ignored
src.w = exponent   ; The value must be between -128.0 and 128.0

다음 코드 조각은 수행된 작업을 보여 줍니다.

dest.x = 1;
dest.y = 0;
dest.z = 0;
dest.w = 1;

float power = src.w;
const float MAXPOWER = 127.9961f;
if (power < -MAXPOWER)
    power = -MAXPOWER;          // Fits into 8.8 fixed point format
else if (power > MAXPOWER)
    power = MAXPOWER;          // Fits into 8.8 fixed point format

if (src.x > 0)
{
    dest.y = src.x;
    if (src.y > 0)
    {
        // Allowed approximation is EXP(power * LOG(src.y))
        dest.z = (float)(pow(src.y, power));
    }
}

감소된 정밀도 산술 연산은 대상 y 구성 요소(dest.y)를 평가할 때 허용됩니다. 구현은 거듭제곱 인수에서 8개 이상의 분수 비트를 지원해야 합니다. 내적은 법선화된 벡터를 통해 계산되고 클램프 제한은 -128~128입니다.

오류는 logp - vsexp - vs 조합에 해당하거나 8비트 색 구성 요소에 대해 약 1비트 이하의 중요 비트에 해당해야 합니다.

꼭짓점 셰이더 명령