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