DirectX Graphics 레퍼런스 셰이더 레퍼런스 픽셀 셰이더 1_X 명령 수식자   [목차열람] [주소복사] [슬롯비우기]
명령 수식자
 
Microsoft DirectX 9.0

명령 수식자


명령 수식자를 사용해, 명령의 출력을 변경한다. 예를 들어, 결과를 2 로 곱셈과 나눗셈 헤아리거나 결과를 0 ~ 1 에 제한하거나 하기 위해서, 명령 수식자를 사용한다. 명령 수식자가 적용되는 것은, 명령을 실행한 후, 결과를 출력 레지스터에 기입하기 전이다.

수식자의 일람을 다음에 나타낸다.

수식자 설명 구문버전
1_1 1_2 1_3 1_4
_x22 를 건다. register_x2 X X X X
_x44 를 건다. register_x4 X X X X
_x88 을 건다. register_x8 X
_d22 로 나눈다. register_d2 X X X X
_d44 로 나눈다. register_d4 X
_d88 으로 나눈다. register_d8 X
_sat포화 (0 ~ 1 에 고정)한다. register_sat X X X X

산술 명령에는, 명령 수식자를 사용할 수 있다. 텍스처어드레싱 명령에는 사용할 수 없다.

곱셈 수식자

다음의 예에서는, 소스 오퍼랜드 (src0 와 src1)의 2 개의 색을 더한 것을 출력 레지스터 (dest)에 로드해, 결과에 2 를 곱하고 있다.

add_x2 dest, src0, src1
			

다음의 예에서는, 2 개의 명령 수식자를 조합하고 있다. 최초로, 소스 오퍼랜드 (src0 와 src1) 내의 2 개의 색이 더해진다. 더한 결과에 이번은 2 를 걸어 각 성분에 대해 0.0 ~ 1.0 의 범위에 고정한다. 결과는 출력 레지스터에 보존된다.

add_x2_sat dest, src0, src1
			

나눗셈 수식자

다음의 예에서는, 소스 오퍼랜드 (src0 와 src1)의 2 개의 색을 더한 것을 출력 레지스터 (dest)에 로드해, 결과를 2 로 나누고 있다.

add_d2 dest, src0, src1
			

포화 수식자

산술 명령의 경우, 포화 수식자는, 이 명령의 결과를 각 성분에 대해 0.0 ~ 1.0 의 범위에 고정한다. 다음 예는 이 명령 수식자의 사용법을 나타내고 있다.

dp3_sat r0, t0_bx2, v0_bx2    ; t0 is bump, v0 is light direction
			

이 처리는, 곱셈 또는 나눗셈의 명령 수식자의 다음에 실행된다. _sat 는, 보통, 내적의 결과를 제한하기 위해서 사용된다. 다만, frame buffer가 항상 0 ~ 1 의 범위에 있는 멀티 패스 메서드와 포화가 각 스테이지에서 행해지도록(듯이) 정의되고 있는 Microsoft® DirectX® 6.0 및 7.0 의 멀티 텍스처 구문으로, 일관성이 있는 에뮬레이션을 실행할 수 있다.

다음의 예에서는, 소스 오퍼랜드 (src0 와 src1)의 2 개의 색을 더한 것을 출력 레지스터 (dest)에 로드해, 각 성분에 대해 결과를 0.0 ~ 1.0 의 범위에 제한하고 있다.

add_sat dest, src0, src1
			

다음의 예에서는, 2 개의 명령 수식자를 조합하고 있다. 최초로, 소스 오퍼랜드 (src0 와 src1) 내의 2 개의 색이 더해진다. 더한 결과에 2 를 곱해 각 성분에 대해 0.0 ~ 1.0 의 범위에 제한한다. 결과는 출력 레지스터에 보존된다.

add_x2_sat dest, src0, src1
			


© 2002 Microsoft Corporation. All rights reserved.
↑TOP