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

encode 스케일링


각 채널로부터 0.5 를 뺄셈 해, 결과를 2.0 배에 스케일링 한다. "bx2" 라는 이름은, 실행하는 처리인,바이어스 (b)2 배의 스케일링 (x2) 으로부터 오고 있다.

구문

source register_bx2

레지스터

입력 레지스터. 레지스터 타입의 더 자세한 정보는, 「레지스터 - ps_1_X 」를 참조할것.

주의

레지스터의 내용은 변경되지 않는다. 수식자는 레지스터로부터 읽어낸 데이터에만 적용된다.

encode 스케일링 연산은, 다음의 명령의 실행전에 레지스터로부터 읽어낸 데이터에 적용된다. 다음과 같이, 연산은 4 개의 컬러 채널 모두 (RGBA)에게 적용된다.

y = 2(x - 0.5)

이 연산은, 보통, 데이터를 [0.0 ~ 1.0] 으로부터 [-1. 0 ~ 1.0] 에 전개하기 위해서 사용된다. 0 ~ 1 의 범위 이외의 데이터에 _bx2 를 사용했을 경우, 결과는 부정이다.

이 수식자는, 산술 명령으로 사용하기 위한 것이다. 이 수식자는, 일반적으로, 내적 명령 (dp3 )에의 입력에 대해 사용된다.

이 수식자는보수와 서로 배타적이기 때문에, 같은 레지스터에 적용할 수 없다.

셰이더 버전 1_1 에서는, 형식이 texm3x2* 또는 texm3x3* 의 모든 텍스처어드레싱 명령으로, 입력 인수에 _bx2 수식자를 사용할 수 있다.

셰이더 버전 1_2 및 1_3 에서는, 모든 tex* 명령의 입력 레지스터에 _bx2 수식자를 사용할 수 있다. 버전 1_0 및 1_1 에서는,texreg2artexreg2gb 의 입력 레지스터에 _bx2 를 사용할 수 없다.

이 예에서는, 텍스처를 샘플링 해, 데이터를 -1 ~ +1 의 범위로 변환해, 내적을 계산하고 있다.

tex t0                        ; Read a texture color.
dp3_sat r0, t0_bx2, v0_bx2    ; Calculate a dot product.


© 2002 Microsoft Corporation. All rights reserved.
↑TOP