Share via


Input-Assembler 단계

Direct3D 10 이상 API는 파이프라인의 기능 영역을 단계로 구분합니다. 파이프라인의 첫 번째 단계는 IA(입력 어셈블러) 단계입니다.

입력 어셈블러 단계의 목적은 사용자가 채워진 버퍼에서 기본 데이터(점, 선 및/또는 삼각형)를 읽고 다른 파이프라인 단계에서 사용할 기본 형식으로 데이터를 어셈블하는 것입니다. IA 단계는 여러 기본 형식(선 목록, 삼각형 스트립 또는 인접한 원형 등)에 꼭짓점을 조합할 수 있습니다. 기하 도형 셰이더를 지원하기 위해 새로운 기본 형식(예: 인접한 선 목록 또는 인접한 삼각형 목록)이 추가되었습니다.

인접 정보는 기하 도형 셰이더의 애플리케이션에서만 볼 수 있습니다. 예를 들어 인접성을 포함한 삼각형으로 기하 도형 셰이더가 호출된 경우 입력 데이터에는 삼각형 하나에 해당하는 3개의 꼭짓점, 삼각형의 인접 데이터에 해당하는 3개의 꼭짓점이 포함될 것입니다.

인접 데이터를 출력하기 위해 입력 어셈블러 단계가 요청되면 입력 데이터에 인접 데이터가 포함되어야 합니다. 그러려면 더미 꼭짓점(중복 제거 삼각형 형성)을 제공하거나 경우에 따라 꼭짓점의 존재 여부를 나타내는 꼭짓점 속성 중 하나에 플래그를 지정해야 할 수도 있습니다. 래스터라이저 단계에 중복 제거 기하 도형의 컬링이 발생하더라도 이 역시 기하 도형 셰이더에서 발견하고 처리해야 합니다.

기본 형식을 어셈블하는 동안 IA의 보조 목적은 시스템 생성 값을 연결하여 셰이더의 효율성을 높이는 것입니다. 시스템 생성 값은 의미 체계라고도 하는 텍스트 문자열입니니다. 세 셰이더 단계는 모두 공통 셰이더 코어에서 생성되며 셰이더 코어는 시스템 생성 값(예: 기본 ID, instance ID 또는 꼭짓점 ID)을 사용하여 셰이더 스테이지가 아직 처리되지 않은 기본 요소, 인스턴스 또는 꼭짓점으로만 처리를 줄일 수 있도록 합니다.

파이프라인 블록 다이어그램에 표시된 것처럼 IA 단계가 메모리에서 데이터를 읽고(데이터를 기본 형식으로 어셈블하고 시스템 생성 값을 연결) 데이터가 꼭짓점 셰이더 단계에 출력됩니다.

섹션 내용

항목 설명
Input-Assembler 스테이지를 사용하여 시작
IA(입력 어셈블러) 단계를 초기화하는 데 필요한 몇 가지 단계가 있습니다. 예를 들어 파이프라인에 필요한 꼭짓점 데이터를 사용하여 버퍼 리소스를 만들고, 버퍼의 위치와 포함된 데이터 형식을 IA 단계에 알리고, 데이터에서 어셈블할 기본 형식을 지정해야 합니다.
기본 토폴로지
Direct3D 10 이상에서는 D3D_PRIMITIVE_TOPOLOGY 열거형 형식으로 표현되는 여러 기본 형식(또는 토폴로지)을 지원합니다. 이러한 형식은 파이프라인에서 꼭짓점을 해석하고 렌더링하는 방법을 정의합니다.
버퍼 없이 Input-Assembler 스테이지 사용
셰이더에 버퍼가 필요하지 않은 경우 버퍼를 만들고 바인딩할 필요가 없습니다. 이 섹션에는 단일 삼각형을 그리는 간단한 꼭짓점 및 픽셀 셰이더의 예가 포함되어 있습니다.
System-Generated 값 사용
시스템 생성 값은 셰이더 작업의 특정 효율성을 허용하기 위해 IA 단계(사용자가 제공한 입력 의미 체계 기반)에 의해 생성됩니다.

그래픽 파이프라인

파이프라인 단계(Direct3D 10)