dcl_maxOutputVertexCount(sm4 - asm)
기하 도형 셰이더의 출력일 수 있는 최대 꼭짓점 수를 선언합니다.
dcl_maxOutputVertexCount count |
---|
항목 | 설명 |
---|---|
count |
[in] 1~n 사이(포함)의 부호 없는 32비트 정수입니다. |
기하 도형 셰이더는 최대 1024의 32비트 값을 출력할 수 있습니다. 이 최댓값에는 입력 데이터의 크기와 셰이더에서 만든 데이터의 크기가 포함됩니다.
몇 가지 제한 사항은 다음과 같습니다.
- 기하 도형 셰이더의 실행이 완료되기 전에 꼭짓점 수에 도달하면 셰이더가 종료됩니다.
- 기하 도형 셰이더는 꼭짓점을 출력하기 전에 프로그램의 끝에 도달할 수 있습니다. 정상적인 상태입니다.
- 기하 도형 셰이더를 디버그하는 경우 생성된 내보내기 명령 수를 계산하여 생성된 꼭짓점 수를 알릴 수 있습니다.
이 명령은 다음 셰이더 단계에 적용됩니다.
꼭짓점 셰이더 | 기하 도형 셰이더 | 픽셀 셰이더 |
---|---|---|
x |
이 명령은 어셈블리에서 셰이더 디버그를 돕기 위해 포함되었습니다. 셰이더 모델 4를 사용하여 어셈블리 언어로 셰이더를 작성할 수 없습니다.
예
다음은 몇 가지 예제입니다.
위치(.xyzw) 및 색상(.rgb)으로 구성된 입력 데이터를 가정합니다. 각 구성 요소는 1바이트를 사용합니다. 7바이트가 지정된 경우 셰이더가 생성할 수 있는 최대 꼭짓점 수는 1024 / (4 + 3) = 146입니다.
dcl_maxOutputVertexCount 146
기하 도형 셰이더가 4개 구성 요소 벡터 32개를 만든다고 가정합니다. 셰이더가 생성할 수 있는 최대 꼭짓점 수는 1024 / (32 * 4) = 8입니다.
dcl_maxOutputVertexCount 8
최소 셰이더 모델
이 함수는 다음 셰이더 모델에서 지원됩니다.
셰이더 모델 | 지원됨 |
---|---|
셰이더 모델 5 | 예 |
셰이더 모델 4.1 | 예 |
셰이더 모델 4 | 예 |
셰이더 모델 3(DirectX HLSL) | 아니요 |
셰이더 모델 2(DirectX HLSL) | 아니요 |
셰이더 모델 1(DirectX HLSL) | 아니요 |