vs_3_0
프로그래밍 가능한 꼭짓점 셰이더는 꼭짓점 데이터에서 작동하는 명령 집합으로 구성됩니다. 레지스터는 ALU 내/외부로 데이터를 전송합니다. 명령, 결과 또는 기록되는 데이터를 수정하기 위해 추가 컨트롤을 적용할 수 있습니다.
꼭짓점 셰이더 버전 vs_3_0는 vs_2_x에서 지원하는 기능 집합을 확장합니다. vs_2_X에서 최대값을 설정해야 하는 각 기능을 vs_3_0에서는 최대값 없이 사용할 수 있습니다.
- 명령 - vs_3_0에는 사용 가능한 명령 목록이 있습니다.
- 레지스터 - vs_3_0에서는 꼭짓점 셰이더 ALU에서 사용하는 다양한 레지스터 형식을 나열합니다.
- 꼭짓점 셰이더 레지스터 한정자는 명령의 작동 방식을 수정하는 데 사용됩니다.
- 꼭짓점 셰이더 원본 레지스터 한정자는 명령이 실행되기 전에 원본 레지스터 데이터를 변경합니다.
- 원본 레지스터 혼합을 통해 어떤 레지스터 구성 요소를 읽고 복사하거나 쓸지 추가로 제어할 수 있습니다.
- 대상 레지스터 마스킹은 대상 레지스터의 어떤 성분이 기록되는지 결정합니다.
새로운 기능
꼭짓점 셰이더 버전 vs_3_0의 새로운 기능은 다음 섹션에서 설명합니다.
레지스터 인덱싱
이전 셰이더 모델에서는 상수 레지스터 뱅크만 인덱싱할 수 있습니다. 이번 모델에서는 루프 카운터 레지스터(aL)를 사용하여 다음 레지스터 뱅크를 인덱싱할 수 있습니다.
- 입력 레지스터(v#)
- 출력 레지스터(o#)
꼭짓점 텍스처
이 셰이더 모델은 texldl을 사용하여 꼭짓점 셰이더에서 텍스처 조회를 지원합니다. 꼭짓점 엔진에는 해당 단계에서 설정된 텍스처를 샘플링하는 데 사용할 수 있는 4개의 텍스처 샘플러 단계(변위 맵 샘플러 및 픽셀 엔진의 텍스처 샘플러와 구별됨)가 있습니다. vs_3_0 꼭짓점 텍스처(DirectX HLSL)를 참조하세요.
꼭짓점 스트림 빈도
이 기능을 사용하면 입력 레지스터의 하위 집합을 꼭짓점당 한 번이 아닌 다른 속도로 초기화할 수 있습니다. 인덱싱되지 않은 기하 도형 그리기를 참조하세요.
셰이더 출력
vs_2_0와 마찬가지로 셰이더 출력은 정적 흐름 제어에 따라 달라질 수 있습니다. 동적 분기는 셰이더 출력이 꼭짓점마다 달라질 수 있으므로 주의해야 합니다. 다른 하드웨어에서 예측할 수 없는 결과가 생성됩니다.
동적 흐름 제어
모든 동적 흐름 제어 명령이 지원됩니다. 허용되는 최대 중첩 깊이 값은 24입니다. (자세한 내용은 흐름 제어 중첩 제한을 참조하세요.)
임시 레지스터
총 32개의 임시 레지스터(r#)가 지원됩니다.
정적 흐름 제어
loop - vs/rep - vs의 최대 중첩 깊이는 4입니다. call - vs/callnz bool - vs/callnz pred - vs의 최대 중첩 깊이는 4입니다. if bool - vs의 허용되는 최대 중첩 깊이 값은 24입니다. (자세한 내용은 흐름 제어 중첩 제한을 참조하세요.)
술어
명령 술어가 지원됩니다. setp_comp - vs를 사용하여 조건자 레지스터를 설정합니다.
명령 수
각 꼭짓점 셰이더는 512부터 D3DCAPS9의 MaxVertexShader30InstructionSlots 슬롯 수까지 허용됩니다. loop/rep 지원으로 인해 실행되는 명령 수가 훨씬 더 많을 수 있지만 최소 0xFFFF여야 하는 D3DCAPS9의 MaxVShaderInstructionsExecuted로 제한됩니다.
디바이스 최대값
꼭짓점 셰이더 3_0이 지원되는 경우 하드웨어에서 다음 최대값이 지원됩니다(최소한).
최대값 | 기능 |
---|---|
셰이더 최대값 |
|
GuardBandLeft, GuardBandTop, GuardBandRight, GuardBandBottom | 8K |
VertexShaderVersion | 3_0 |
MaxVertexShaderConst | 256 |
MaxVertexShader30InstructionSlots | 512 |
Fog 지원 | D3DPRASTERCAPS_FOGVERTEX |
VertexTextureFilterCaps | |
D3DDEVCAPS2_VERTEXELEMENTSCANSHARESTREAMOFFSET | 꼭짓점 선언의 꼭짓점 요소는 동일한 스트림 오프셋을 공유할 수 있음 |
꼭짓점 형식 |
|
관련 항목