DirectX Graphics 레퍼런스 셰이더 레퍼런스 픽셀 셰이더 2_0 마스킹 (픽셀 셰이더) [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
쓰기 마스크는, 명령의 완료 후에 출력 레지스터의 어느 성분이 써넣어지는지를 제어한다. 성분의 순서가 . rgba 또는 . xyzw 인 한, 출력 쓰기 마스크를 사용할 수 있다. 즉,. rba 와 . xw 는, 유효한 마스크이다. 텍스처 레지스터에는 일정한 규칙이 있어, 비텍스처 레지스터에는 또 다른 규칙이 있다.
다음 표에 나타나듯이 마스킹은, 출력 레지스터의 각각의 성분에 대해서 적용할 수 있다.
성분 수식자 | 기술 |
---|---|
r. {x}{y}{z}{w} | 출력 마스크 |
일반적으로, 출력 레지스터의 쓰기 마스크를 지정하는 것은, 좋은 코딩 스타일이다. 코드가 읽기 쉽고, 보수하기 쉬워진다. x 가 y 의 전에 있어, y 가 z 의 전에 있어, z 가 w 의 전에 있는 한, 임의의 성분을 조합해 지정할 수 있다 (지정하지 않아도 상관없다).
다음의 출력 레지스터에는, 쓰기 마스크에 대한 제약이 있다.
레지스터 타입 | 필요한 쓰기 마스크 |
---|---|
oFog | 스칼라-형태의 레지스터에서는, 명시적인 쓰기 마스크는 사용할 수 없다. |
oPts | 스칼라-형태의 레지스터에서는, 명시적인 쓰기 마스크는 사용할 수 없다. |
oPos | 마스크의 편성 :. xyzw (디폴트). |
oT# | 마스크의 편성 :. x | . xy | . xyz | . xyzw (디폴트). |
다음의 버전은, 마스킹을 지원 하고 있다.
픽셀 셰이더의 버전 | 1_1 | 1_2 | 1_3 | 1_4 | 2_0 | 2_x | 2_sw | 3_0 | 3_sw |
---|---|---|---|---|---|---|---|---|---|
출력 레지스터의 마스킹 | x | x | x | x | x | x | x | x | x |