D3DXSimplifyMesh 함수

지정된 MinValue에 최대한 가깝게 제공되는 가중치를 사용하여 간소화된 메시를 생성합니다.

구문

HRESULT D3DXSimplifyMesh(
  _In_        LPD3DXMESH           pMesh,
  _In_  const DWORD                *pAdjacency,
  _In_  const D3DXATTRIBUTEWEIGHTS *pVertexAttributeWeights,
  _In_  const FLOAT                *pVertexWeights,
  _In_        DWORD                MinValue,
  _In_        DWORD                Options,
  _Out_       LPD3DXMESH           *ppMesh
);

매개 변수

pMesh [in]

형식: LPD3DXMESH

원본 메시를 나타내는 ID3DXMesh 인터페이스에 대한 포인터입니다.

pAdjacency [in]

형식: const DWORD*

메시의 각 면에 대해 단순화할 세 개의 인접 항목을 지정하는 얼굴당 3개의 DWORD 배열에 대한 포인터입니다.

pVertexAttributeWeights [in]

형식: const D3DXATTRIBUTEWEIGHTS*

각 꼭짓점 구성 요소의 가중치를 포함하는 D3DXATTRIBUTEWEIGHTS 구조체에 대한 포인터입니다. 이 매개 변수를 NULL로 설정하면 기본 구조체가 사용됩니다. 설명 부분을 참조하세요.

pVertexWeights [in]

형식: const FLOAT*

꼭짓점 가중치 배열에 대한 포인터입니다. 이 매개 변수를 NULL로 설정하면 모든 꼭짓점 가중치가 1.0으로 설정됩니다.

MinValue [in]

형식: DWORD

원본 메시를 단순화하기 위해 Options 매개 변수에 설정된 플래그에 따라 꼭짓점 또는 얼굴의 수입니다.

옵션 [in]

형식: DWORD

메시에 대한 간소화 옵션을 지정합니다. D3DXMESHSIMP의 플래그 중 하나를 설정할 수 있습니다.

ppMesh [out]

형식: LPD3DXMESH*

반환된 단순화 메시를 나타내는 ID3DXMesh 인터페이스에 대한 포인터의 주소입니다.

반환 값

형식: HRESULT

함수가 성공하면 반환 값이 D3D_OK. 함수가 실패하면 반환 값은 D3DERR_INVALIDCALL, D3DXERR_INVALIDDATA, E_OUTOFMEMORY 중 하나일 수 있습니다.

설명

이 함수는 MinValue 꼭짓점 또는 면이 있는 메시를 생성합니다.

간소화 프로세스에서 메시를 MinValue로 줄일 수 없는 경우 MinValue 가 절대 최솟값이 아닌 원하는 최소값이므로 호출이 계속 성공합니다.

pVertexAttributeWeightsNULL로 설정된 경우 기본 D3DXATTRIBUTEWEIGHTS 구조체에 다음 값이 할당됩니다.

D3DXATTRIBUTEWEIGHTS AttributeWeights;
    
AttributeWeights.Position  = 1.0;
AttributeWeights.Boundary =  1.0;
AttributeWeights.Normal   =  1.0;
AttributeWeights.Diffuse  =  0.0;
AttributeWeights.Specular =  0.0;
AttributeWeights.Tex[8]   =  {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};

이 기본 구조는 기하학적 및 정상적인 조정만 고려하므로 대부분의 애플리케이션에서 사용해야 하는 구조입니다. 특별한 경우에만 다른 멤버 필드를 수정해야 합니다.

요구 사항

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

추가 정보

메시 함수