관련 색인이 없습니다.
dp3 (픽셀 셰이더)
 
Microsoft DirectX 9.0

dp3 (픽셀 셰이더)


입력 레지스터의 3 성분의 내적을 계산한다.

구문

dp3 dst, src0, src1

여기서

주의

픽셀 셰이더의 버전1_11_21_31_42_02_x2_sw3_03_sw
dp3xxxxxxxxx

다음 샘플 코드는, 실행되는 연산을 나타낸다.

dest.w = (src0.x * src1.x) + (src0.y * src1.y) + 
         (src0.z * src1.z) + (src0.w * src1.w);
dest.x = dest.y = dest.z = unused;

버전 1_X 에서는, 이 명령은 동시 실행할 수 없다.

버전 1_X 에서는, 이 명령의 출력 결과는, 자동적으로 0 ~ 1 에 제한될 것은 없다. 제한이 필요한 경우는,명령 수식자를 사용한다.

이 명령은, 항상 컬러 채널에의 쓰기를 실시해, 벡터 파이프라인으로 동작한다. 버전 1_4 에서는, 이 명령은 아직 벡터 파이프라인을 사용하지만, 어느 채널에도 기입할 수가 있다.

dp3 r0.rgb, t0, v0            // Copy scalar result to RGB components.

다음과 같이, 출력 레지스터의 RGB 쓰기 마스크를 지정한 명령을, dp3 로 동시 실행할 수 있다.

dp3 r0.rgb, t0, v0            // Copy scalar result to color components.
+mov r2.a, t0                 // Copy alpha component from t0 in parallel.  

dp3 명령은, 입력 인수가 부호 첨부 동적 범위에 전개되지 않은 경우, 입력 인수에 적용된encode 스케일링 입력 인수 수식자 (_bx2)를 사용해 수식할 수 있다. 조명 셰이더에 대해서는, 다음과 같이 포화 명령 수식자 (_sat)를 사용해 부의 값을 흑에 제한하는 것이 많다.

dp3_sat r0, t0_bx2, v0_bx2    // Here t0 is a bump map, v0 contains the light direction.

시스템 요건

최저한의 operating systemWindows 98


© 2002 Microsoft Corporation. All rights reserved.
↑TOP