dp3 - ps
원본 레지스터의 3-구성 요소 내적을 계산합니다.
Syntax
dp3 dst, src0, src1 |
---|
라는 설치 관리자 실행 파일에 포함됩니다. 여기서
- dst는 대상 레지스터입니다.
- src0은 원본 레지스터입니다.
- src1은 원본 레지스터입니다.
설명
픽셀 셰이더 버전 | 1_1 | 1_2 | 1_3 | 1_4 | 2_0 | 2_x | 2_sw | 3_0 | 3_sw |
---|---|---|---|---|---|---|---|---|---|
dp3 | x | x | x | x | x | x | x | x | x |
다음 코드 조각은 수행된 연산을 보여 줍니다.
dest.x = dest.y = dest.z = dest.w =
(src0.x * src1.x) + (src0.y * src1.y) + (src0.z * src1.z);
이 명령은 벡터 파이프라인에서 실행되며 항상 색 채널에 기록됩니다. 버전 1_4의 경우 이 명령은 계속해서 벡터 파이프라인을 사용하지만 어떠한 채널에도 쓸 수 있습니다.
아래와 같이 대상 레지스터 .rgb(.xyz) 쓰기 마스크를 사용하는 명령이 dp3과 함께 실행될 수 있습니다.
dp3 r0.rgb, t0, v0 // Copy scalar result to color components
+mov r2.a, t0 // Copy alpha component from t0 in parallel
dp3 명령은 부호 있는 동적 범위로 아직 확장되지 않은 경우 입력 인수에 적용된 원본 레지스터 부호 있는 크기 조정 입력 인수 한정자(_bx2)를 사용하여 수정할 수 있습니다. 조명 셰이더의 경우 다음 예제에 표시된 것처럼 채도 명령 한정자(_sat)는 음수 값을 검은색으로 고정하는데 종종 사용됩니다.
dp3_sat r0, t0_bx2, v0_bx2 // t0 is a bump map, v0 contains the light direction
관련 항목