DirectX Graphics 레퍼런스 셰이더 레퍼런스 정점 셰이더 2_0 확장   [목차열람] [주소복사] [슬롯비우기]
정점 셰이더 2_0 확장
 
Microsoft DirectX 9.0

정점 셰이더 2_0 확장


프로그래밍 가능한 정점 셰이더는, 정점 데이터를 처리하는 일련의 명령으로부터 완성된다. 레지스터는, 연산 논리 단위 (ALU)와의 사이에 데이터를 교환한다. 추가의 컨트롤을 적용 하면, 명령, 결과, 또는 기입하는 데이터를 변경할 수 있다.

정점 셰이더 버전 2_x 는, vs_2_0 로 지원 되는 기능 세트를 확장한다. 각각의 추가 기능은,D3DCAPS9 구조체의 D3DVSHADERCAPS2_0 멤버내에 있는 해당하는 능력으로 나타낸다. 이러한 능력으로 나타내지는 확장 기능을 사용하기 위해서(때문에)는, 정점 셰이더의 버전을 vs_2_x 로서 지정할 필요가 있다.

새 기능

이하와 같은 새 기능이 있다.

동적 flow control

D3DCAPS9.D3DPSHADERCAPS2_0.DynamicFlowControlDepth 는, 정적 flow control 명령 (if ,break , 및 break_comp )의 네스트의 깊이를 나타낸다. 이 값은, if_comp 블록의 네스트의 깊이와 동일하다. 이 능력의 값의 범위는 0 ~ 24 이다. 이 능력이 0 의 경우, 장치는 동적 flow control 명령을 지원 하지 않는다.

임시 레지스터의 수

이 능력은, 장치가 지원 하는 임시 레지스터의 수 (r#)를 나타낸다. 이 능력의 값의 범위는, 12 ~ 32 이다.

정적 flow control의 네스트의 깊이

D3DCAPS9.D3DPSHADERCAPS2_0.DynamicFlowControlDepth 는, 정적 flow control 명령 (loop /repcall /callnz )의 네스트의 깊이를 나타낸다. 이 능력의 값의 범위는, 1 ~ 4 이다. loop/rep 는 같은 네스트의 깊이에 대해서 카운트 해,call/callnz 는 같은 네스트의 깊이에 대해서 카운트 한다. 이 능력이 0 의 경우, 장치는 정적 flow control 명령을 지원 하지 않는다.

프레디케이션

D3DPS20CAPS_PREDICATION 플래그가 D3DCAPS9.D3DPSHADERCAPS2_0.Caps 로 설정되어 있는 경우, 장치는 프레디케이션을 지원 한다.



© 2002 Microsoft Corporation. All rights reserved.
↑TOP