Share via


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);
      

요구 사항

요구 사항
헤더
D3DX10.h
라이브러리
D3DX10.lib

추가 정보

ID3DX10Mesh

D3DX 인터페이스