Share via


기본 토폴로지

Direct3D 10 이상에서는 D3D_PRIMITIVE_TOPOLOGY 열거형 형식으로 표현되는 여러 기본 형식(또는 토폴로지)을 지원합니다. 이러한 형식은 파이프라인에서 꼭짓점을 해석하고 렌더링하는 방법을 정의합니다.

기본 기본 형식

지원되는 기본 기본 형식은 다음과 같습니다.

각 기본 형식의 시각화는 이 항목의 뒷부분에 있는 권선 방향 및 선행 꼭짓점 위치의 다이어그램을 참조하세요.

입력 어셈블러 단계는 꼭짓점 및 인덱스 버퍼에서 데이터를 읽고, 데이터를 이러한 기본 형식으로 어셈블한 다음, 나머지 파이프라인 단계로 데이터를 보냅니다. ( ID3D11DeviceContext::IASetPrimitiveTopology 메서드를 사용하여 입력 어셈블러 단계의 기본 형식을 지정할 수 있습니다.)

기본 인접성

모든 Direct3D 10 이상 기본 형식(점 목록 제외)은 인접한 기본 형식과 인접하지 않은 기본 형식의 두 가지 버전에서 사용할 수 있습니다. 인접이 있는 기본 요소에는 주변 꼭짓점 일부가 포함되지만 인접이 없는 기본 요소에는 대상 기본 요소의 꼭짓점만 포함됩니다. 예를 들어 선 목록 기본 형식( D3D_PRIMITIVE_TOPOLOGY_LINELIST 값으로 표시됨)에는 인접( D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ 값으로 표시됨)을 포함하는 해당 줄 목록 기본 형식이 있습니다.

인접 기본 요소는 기하 도형에 대한 더 많은 정보를 제공하기 위한 것으로 기하 도형 셰이더를 통해서만 볼 수 있습니다. 인접은 실루엣 감지, 섀도 볼륨 돌출 등을 사용하는 기하 도형 셰이더에 유용합니다.

예를 들어 인접을 사용하여 삼각형 목록을 그리려 한다고 가정해 보세요. 36개의 꼭짓점이 (인접과 함께) 포함된 삼각형 목록은 6개의 완성된 기본 요소를 산출합니다. 인접이 있는 기본 요소(선 스트립 제외)에는 인접이 없는 동등한 기본 요소의 정확히 두 배의 꼭짓점이 포함되는데, 여기서 추가적인 각각의 꼭짓점은 인접 꼭짓점입니다.

구불구불한 방향 및 선행 꼭짓점 위치

다음 그림에서 보듯 선행 꼭짓점은 기본 요소에서 첫 번째 비인접 꼭짓점입니다. 각각의 꼭짓점이 서로 다른 기본 요소에 사용되는 한 하나의 기본 형식에서 여러 개의 꼭짓점을 정의할 수 있습니다. 인접이 있는 삼각형 스트립의 경우, 선행 꼭짓점은 0, 2, 4, 6 등 입니다. 인접이 있는 선 스트립의 경우, 선행 꼭짓점은 1, 2, 3 등 입니다. 반면 인접 기본 요소에는 선행 꼭짓점이 없습니다.

다음 그림은 입력 어셈블러가 만들 수 있는 모든 기본 형식의 꼭짓점 순서를 보여 줍니다.

기본 형식에 대한 꼭짓점 순서 다이어그램

앞 그림의 기호는 다음 표에 설명되어 있습니다.

기호 이름 설명
꼭짓점 기호 꼭짓점 3D 공간의 점.
권선 방향 기호 권선 방향 기본 요소 조합 시 꼭짓점 순서. 시계 방향 또는 시계 반대 방향일 수 있습니다. ID3D11Device1::CreateRasterizerState1을 호출하여 지정합니다.
선행 꼭짓점 기호 선행 꼭짓점 상수별 데이터를 포함하는 기본 요소의 첫 번째 비인접 꼭짓점.

 

여러 스트립 생성

스트립 자르기를 통해 여러 개의 스트립을 생성할 수 있습니다. 명시적으로 RestartStrip HLSL 함수를 호출하거나 특수 인덱스 값을 인덱스 버퍼에 삽입하여 스트립 자르기를 수행할 수 있습니다. 이 값은 -1로서 32비트 인덱스의 경우에는 0xffffffff, 16비트 인덱스의 경우에는 0xffff입니다. 인덱스 –1은 현재 스트립의 명시적 '잘라내기' 또는 '다시 시작'을 나타냅니다. 이전 인덱스는 이전 기본 요소 또는 스트립을 완성하며, 다음 인덱스는 새 기본 요소 또는 스트립을 시작합니다. 여러 스트립을 생성하는 방법에 대한 자세한 내용은 Geometry-Shader Stage를 참조하세요.

참고

모든 10level9 하드웨어가 이 기능을 구현하는 것은 아니므로 기능 수준 10.0 이상의 하드웨어가 필요합니다.

 

Input-Assembler 스테이지를 사용하여 시작

파이프라인 단계(Direct3D 10)