ID3DX10Mesh::D rawSubsetInstanced 메서드
메시의 동일한 하위 집합의 여러 인스턴스를 그립니다.
구문
HRESULT DrawSubsetInstanced(
[in] UINT AttribId,
[in] UINT InstanceCount,
[in] UINT StartInstanceLocation
);
매개 변수
-
AttribId [in]
-
형식: UINT
그릴 메시의 하위 집합을 지정합니다. 이 값은 메시의 얼굴을 하나 이상의 특성 그룹에 속하는 것으로 구분하는 데 사용됩니다. 설명을 참조하세요.
-
InstanceCount [in]
-
형식: UINT
렌더링할 인스턴스 수입니다.
-
StartInstanceLocation [in]
-
형식: UINT
instance 데이터로 표시된 각 버퍼에서 가져올 instance.
반환 값
형식: HRESULT
반환 값은 Direct3D 10 반환 코드에 나열된 값 중 하나입니다.
설명
메시에는 특성 테이블이 포함되어 있습니다. 특성 테이블은 메시를 하위 집합으로 나눌 수 있습니다. 여기서 각 하위 집합은 특성 ID로 식별됩니다. 예를 들어 세 개의 하위 집합으로 구분된 200개의 얼굴이 있는 메시에는 다음과 같은 특성 테이블이 있을 수 있습니다.
Subset | 얼굴 |
---|---|
AttribID 0 | 얼굴 0 ~ 50 |
AttribID 1 | Face 51 ~ 125 |
AttribID 2 | Face 126 ~ 200 |
인스턴스화는 동일한 기하 도형을 다시 사용하여 장면에 여러 개체를 그려 성능을 확장할 수 있습니다. 인스턴스화의 한 가지 예는 동일한 개체를 다른 위치와 색으로 그리는 것입니다. 인덱싱에는 여러 꼭짓점 버퍼가 필요합니다. 꼭짓점당 데이터에는 하나 이상, instance 데이터에는 두 번째 버퍼가 필요합니다.
DrawSubsetInstanced를 사용하는 그리기 인스턴스는 인스턴싱 샘플에 설명된 ID3D10Device::D rawIndexedInstanced와 함께 사용되는 프로세스와 매우 유사합니다. DrawSubsetInstanced를 사용할 때의 주요 차이점은 인스턴스 데이터를 결합하기 전에 ID3DX10Mesh Interface 개체에서 꼭짓점 및 인덱스 버퍼를 추출해야 한다는 것입니다.
다음 코드에서는 메시 개체에서 꼭짓점 및 인덱스 버퍼를 추출하는 것을 보여 줍니다.
ID3D10Buffer* vertexBuffer;
pDeviceObj->pMesh->GetDeviceVertexBuffer(0, &vertexBuffer);
ID3D10Buffer* indexBuffer;
pDeviceObj->pMesh->GetDeviceIndexBuffer(&indexBuffer);
요구 사항
요구 사항 | 값 |
---|---|
헤더 |
|
라이브러리 |
|
추가 정보