ID3DXMesh::Optimize 메서드
그리기 성능을 최적화하기 위해 다시 정렬된 얼굴과 꼭짓점을 사용하여 새 메시를 생성합니다.
구문
HRESULT Optimize(
[in] DWORD Flags,
[in] const DWORD *pAdjacencyIn,
[in, out] DWORD *pAdjacencyOut,
[in, out] DWORD *pFaceRemap,
[out] LPD3DXBUFFER *ppVertexRemap,
[out] LPD3DXMESH *ppOptMesh
);
매개 변수
-
Flags [in]
-
형식: DWORD
수행할 최적화 유형을 지정합니다. 이 매개 변수는 D3DXMESHOPT 및 D3DXMESH에서 하나 이상의 플래그 조합으로 설정할 수 있습니다(D3DXMESH_32BIT, D3DXMESH_IB_WRITEONLY 및 D3DXMESH_WRITEONLY 제외).
-
pAdjacencyIn [in]
-
형식: const DWORD*
소스 메시의 각 면에 대한 세 개의 인접 항목을 지정하는 얼굴당 3개의 DWORD 배열에 대한 포인터입니다. 가장자리에 인접한 면이 없으면 값이 0xffffffff. 설명 부분을 참조하세요.
-
pAdjacencyOut [in, out]
-
형식: DWORD*
최적화된 메시의 각 면에 대한 세 개의 인접 항목을 지정하는 얼굴당 3개의 DWORD 배열에 대한 포인터입니다. 가장자리에 인접한 면이 없으면 값이 0xffffffff.
-
pFaceRemap [in, out]
-
형식: DWORD*
최적화된 메시의 각 면에 해당하는 원래 메시 얼굴을 식별하는 DWORD 배열입니다. 이 인수에 제공된 값이 NULL이면 얼굴 다시 매핑 데이터가 반환되지 않습니다.
-
ppVertexRemap [out]
-
형식: LPD3DXBUFFER*
ID3DXBuffer 인터페이스에 대한 포인터의 주소입니다. 이 인터페이스에는 새 꼭짓점이 이전 꼭짓점으로 매핑되는 방법을 지정하는 각 꼭짓점의 DWORD가 포함되어 있습니다. 이 다시 매핑은 새 꼭짓점 매핑을 기반으로 외부 데이터를 변경해야 하는 경우에 유용합니다.
-
ppOptMesh [out]
-
형식: LPD3DXMESH*
최적화된 메시를 나타내는 ID3DXMesh 인터페이스에 대한 포인터의 주소입니다.
반환 값
형식: HRESULT
메서드가 성공하면 반환 값이 D3D_OK. 메서드가 실패하면 반환 값은 D3DERR_INVALIDCALL, E_OUTOFMEMORY 중 하나일 수 있습니다.
설명
이 메서드는 새 메시를 생성합니다. 최적화를 실행하기 전에 애플리케이션은 ID3DXBaseMesh::GenerateAdjacency를 호출하여 인접 버퍼를 생성해야 합니다. 인접 버퍼에는 가장자리 목록 및 서로 인접한 얼굴과 같은 인접 데이터가 포함됩니다.
이 메서드는 메시의 새 클론을 생성하는 동안 최적화를 수행할 수 있다는 점을 제외하고 ID3DXBaseMesh::CloneMesh 메서드와 매우 유사합니다. 출력 메시는 입력 메시의 모든 생성 매개 변수를 상속합니다.
요구 사항
요구 사항 | 값 |
---|---|
헤더 |
|
라이브러리 |
|
추가 정보