Input-Assembler 스테이지
Direct3D 10 이상 API는 파이프라인의 기능 영역을 단계로 구분합니다. 파이프라인의 첫 번째 단계는 IA(입력 어셈블러) 단계입니다.
입력 어셈블러 단계의 목적은 사용자가 채워진 버퍼에서 기본 데이터(점, 선 및/또는 삼각형)를 읽고 다른 파이프라인 단계에서 사용할 기본 형식으로 데이터를 어셈블하는 것입니다. IA 단계는 여러 기본 형식(예: 선 목록, 삼각형 스트립 또는 인접한 기본 형식)으로 꼭짓점을 어셈블할 수 있습니다. 기하 도형 셰이더를 지원하기 위해 새로운 기본 형식(예: 인접한 선 목록 또는 인접한 삼각형 목록)이 추가되었습니다.
인접 정보는 기하 도형 셰이더에서만 애플리케이션에 표시됩니다. 예를 들어 인접성을 포함한 삼각형을 사용하여 기하 도형 셰이더를 호출한 경우 입력 데이터에는 각 삼각형에 대해 3개의 꼭짓점과 삼각형당 인접 데이터에 대한 3개의 꼭짓점이 포함됩니다.
인접 데이터를 출력하기 위해 입력 어셈블러 단계가 요청되면 입력 데이터에 인접 데이터가 포함되어야 합니다. 이렇게 하려면 더미 꼭짓점(퇴행성 삼각형 형성)을 제공하거나 꼭짓점이 있는지 여부에 관계없이 꼭짓점 특성 중 하나에 플래그를 지정해야 할 수 있습니다. 퇴행성 기하 도형의 컬링은 래스터라이저 단계에서 발생하지만 기하 도형 셰이더에서 이를 감지하고 처리해야 합니다.
기본 형식을 어셈블하는 동안 IA의 보조 목적은 시스템 생성 값을 연결하여 셰이더를 보다 효율적으로 만드는 것입니다. 시스템 생성 값은 의미 체계라고도 하는 텍스트 문자열입니다. 세 셰이더 단계는 모두 공통 셰이더 코어에서 생성되며 셰이더 코어는 시스템 생성 값(예: 기본 ID, 인스턴스 ID 또는 꼭짓점 ID)을 사용하므로 셰이더 스테이지는 아직 처리되지 않은 기본 요소, 인스턴스 또는 꼭짓점으로만 처리를 줄일 수 있습니다.
파이프라인 블록 다이어그램표시된 것처럼 IA 단계가 메모리에서 데이터를 읽고(데이터를 기본 형식으로 어셈블하고 시스템 생성 값을 연결) 데이터는 꼭짓점 셰이더 단계출력됩니다.
이 섹션에서는
주제 | 묘사 |
---|---|
Input-Assembler 스테이지 시작 |
IA(입력 어셈블러) 단계를 초기화하는 데 필요한 몇 가지 단계가 있습니다. 예를 들어 파이프라인에 필요한 꼭짓점 데이터를 사용하여 버퍼 리소스를 만들고, 버퍼가 어디에 있는지, 어떤 데이터 형식을 포함하는지 IA 단계에 알리고, 데이터에서 어셈블할 기본 형식을 지정해야 합니다. |
기본 토폴로지 |
Direct3D 10 이상에서는 D3D_PRIMITIVE_TOPOLOGY 열거형 형식으로 표시되는 여러 기본 형식(또는 토폴로지)을 지원합니다. 이러한 형식은 파이프라인에서 꼭짓점을 해석하고 렌더링하는 방법을 정의합니다. |
버퍼 없이 Input-Assembler 스테이지 사용 |
셰이더에 버퍼가 필요하지 않은 경우 버퍼를 만들고 바인딩할 필요가 없습니다. 이 섹션에는 단일 삼각형을 그리는 간단한 꼭짓점 및 픽셀 셰이더의 예가 포함되어 있습니다. |
System-Generated 값 사용 |
시스템 생성 값은 셰이더 작업의 특정 효율성을 허용하기 위해 IA 단계(사용자 제공 입력 의미 체계기반)에 의해 생성됩니다. |