Direct3D 10 이상에서는 D3D_PRIMITIVE_TOPOLOGY 열거형 형식으로 표시되는 여러 기본 형식(또는 토폴로지)을 지원합니다. 이러한 형식은 파이프라인에서 꼭짓점을 해석하고 렌더링하는 방법을 정의합니다.
- 기본 기본 형식
- 기본 인접성
- 권선 방향 및 선행 꼭짓점 위치
- 여러 줄무늬 생성
- 관련 항목
기본 기본 형식
지원되는 기본 기본 형식은 다음과 같습니다.
각 기본 형식의 시각화는 이 항목의 뒷부분에 있는 권선 방향 및 선행 꼭짓점 위치다이어그램을 참조하세요.
입력 어셈블러 단계는 꼭짓점 및 인덱스 버퍼에서 데이터를 읽고, 데이터를 이러한 기본 형식으로 어셈블한 다음, 나머지 파이프라인 단계로 데이터를 보냅니다. (ID3D11DeviceContext::IASetPrimitiveTopology 메서드를 사용하여 입력 어셈블러 단계의 기본 형식을 지정할 수 있습니다.
기본 인접성
모든 Direct3D 10 이상 기본 형식(점 목록 제외)은 인접한 기본 형식 1개와 인접하지 않은 기본 형식 1개 등 두 가지 버전에서 사용할 수 있습니다. 인접한 기본 형식은 주변 꼭짓점 중 일부를 포함하지만 인접하지 않은 기본 형식은 대상 기본 형식의 꼭짓점만 포함합니다. 예를 들어 줄 목록 기본 형식(D3D_PRIMITIVE_TOPOLOGY_LINELIST 값으로 표시됨)에는 인접(D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ 값으로 표현됨)을 포함하는 해당 줄 목록 기본 형식이 있습니다.
인접한 기본 형식은 기하 도형에 대한 자세한 정보를 제공하기 위한 것이며 기하 도형 셰이더를 통해서만 볼 수 있습니다. 인접성은 실루엣 감지, 그림자 볼륨 돌출 등을 사용하는 기하 도형 셰이더에 유용합니다.
예를 들어 인접한 삼각형 목록을 그리려는 경우를 가정해 보겠습니다. 36개의 꼭짓점(인접)이 포함된 삼각형 목록은 완료된 6개의 기본 형식을 생성합니다. 인접한 기본 형식(줄무늬 제외)은 인접하지 않은 동일한 기본 요소보다 정확히 두 배 많은 꼭짓점을 포함하며, 여기서 각 추가 꼭짓점은 인접한 꼭짓점입니다.
권선 방향 및 선행 꼭짓점 위치
다음 그림과 같이 선행 꼭짓점은 기본형에서 인접하지 않은 첫 번째 꼭짓점입니다. 기본 형식은 각각 다른 기본 형식에 사용되는 한 여러 선행 꼭짓점을 정의할 수 있습니다. 인접한 삼각형 스트립의 경우 선행 꼭짓점은 0, 2, 4, 6 등입니다. 인접한 선 스트립의 경우 선행 꼭짓점은 1, 2, 3 등입니다. 반면에 인접한 기본 형식에는 선행 꼭짓점이 없습니다.
다음 그림에서는 입력 어셈블러가 생성할 수 있는 모든 기본 형식에 대한 꼭짓점 순서를 보여 줍니다.
기본 형식에 대한 꼭짓점 순서의
이전 그림의 기호는 다음 표에 설명되어 있습니다.
상징 | 이름 | 묘사 |
---|---|---|
꼭짓점![]() |
정점 | 3D 공간의 한 지점입니다. |
권선 방향![]() |
권선 방향 | 기본 형식을 어셈블할 때의 꼭짓점 순서입니다. 시계 방향 또는 시계 반대 방향일 수 있습니다. ID3D11Device1::CreateRasterizerState1호출하여 지정합니다. |
선행 꼭짓점![]() |
선행 꼭짓점 | 상수별 데이터를 포함하는 기본 형식의 인접하지 않은 첫 번째 꼭짓점입니다. |
여러 줄무늬 생성
스트립 절단을 통해 여러 스트립을 생성할 수 있습니다. RestartStrip HLSL 함수를 명시적으로 호출하거나 인덱스 버퍼에 특수 인덱스 값을 삽입하여 스트립 잘라내기를 수행할 수 있습니다. 이 값은 32비트 인덱스에 0xffffffff 16비트 인덱스의 경우 0xffff –1입니다. 인덱스 -1은 현재 스트립의 명시적 '잘라내기' 또는 '다시 시작'을 나타냅니다. 이전 인덱스는 이전 기본 형식 또는 스트립을 완료하고 다음 인덱스는 새 기본 형식 또는 스트립을 시작합니다. 여러 스트립을 생성하는 방법에 대한 자세한 내용은 Geometry-Shader 스테이지참조하세요.
메모
모든 10level9 하드웨어가 이 기능을 구현하는 것은 아니므로 기능 수준 10.0 이상 하드웨어가 필요합니다.
관련 항목