관련 색인이 없습니다. |
Microsoft DirectX 9.0 |
입력 레지스터의 3 성분의 내적을 계산한다.
dp3 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.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 system | Windows 98 |
---|