꼭짓점 셰이더 단계

VS(꼭짓점 셰이더) 단계는 입력 어셈블러의 꼭짓점을 처리하여 변환, 스키닝, 모핑 및 꼭짓점별 조명과 같은 꼭짓점별 작업을 수행합니다. 꼭짓점 셰이더는 항상 단일 입력 꼭짓점에서 작동하여 단일 출력 꼭짓점을 생성합니다. 파이프라인이 실행되려면 꼭짓점 셰이더 단계가 항상 활성화되어 있어야 합니다. 꼭짓점 수정이나 변환이 필요하지 않은 경우 통과 꼭짓점 셰이더를 작성하고 파이프라인으로 설정해야 합니다.

꼭짓점 셰이더

각 꼭짓점 셰이더 입력 꼭짓점은 최대 16개의 32비트 벡터(각각 최대 4개의 구성 요소)로 구성될 수 있으며 각 출력 꼭짓점은 최대 16개의 32비트 4개 구성 요소 벡터로 구성될 수 있습니다. 모든 꼭짓점 셰이더는 하나 이상의 입력과 하나의 출력이 있어야 하며, 이는 스칼라 값 하나만큼 적을 수 있습니다.

꼭짓점 셰이더 단계에서는 입력 어셈블러에서 생성된 두 개의 시스템 생성 값인 VertexID 및 InstanceID를 사용할 수 있습니다(시스템 값 의미 체계 참조). VertexID와 InstanceID는 모두 꼭짓점 수준에서 의미를 갖고, 하드웨어에서 생성한 ID는 이 값을 이해하는 첫 번째 단계에만 제공할 수 있습니다. 따라서 이러한 ID 값은 꼭짓점 셰이더 단계에만 제공할 수 있습니다.

꼭짓점 셰이더는 항상 인접한 입력 기본 토폴로지의 인접 꼭짓점을 비롯한 모든 꼭짓점에서 실행됩니다. VSInvocations 파이프라인 통계를 사용하여 CPU에서 꼭짓점 셰이더가 실행된 횟수입니다.

꼭짓점 셰이더는 화면 공간 파생이 필요하지 않은 로드 및 텍스처 샘플링 작업을 수행할 수 있습니다(HLSL 내장 함수 사용: 샘플(DirectX HLSL 텍스처 개체), SampleCmpLevelZero(DirectX HLSL 텍스처 개체)SampleGrad(DirectX HLSL 텍스처 개체)).