Share via


D3DXUVAtlasPartition 함수

메시에 대한 UV 아틀라스를 만듭니다.

구문

HRESULT D3DXUVAtlasPartition(
  _In_        LPD3DXMESH      pMesh,
  _In_        UINT            dwMaxChartNumber,
  _In_        FLOAT           fMaxStretch,
  _In_        DWORD           dwTextureIndex,
  _In_  const DWORD           *pdwAdjacency,
        const DWORD           *pdwFalseEdges,
  _In_        FLOAT           *pfIMTArray,
  _In_        LPD3DXUVATLASCB pCallback,
  _In_        FLOAT           fCallbackFrequency,
  _In_        LPVOID          pUserContent,
  _In_        DWORD           dwOptions,
  _In_        LPD3DXMESH      *ppMeshOut,
  _Out_       LPD3DXBUFFER    pFacePartitioning,
  _Out_       LPD3DXBUFFER    *ppVertexRemapArray,
              LPD3DXBUFFER    *ppPartitionResultAdjacency,
  _Out_       FLOAT           *pfMaxStretchOut,
  _Out_       UINT            *pdwNumChartsOut
);

매개 변수

pMesh [in]

형식: LPD3DXMESH

아틀라스를 계산하기 위한 개체 기하 도형을 포함하는 입력 메시( ID3DXMesh 참조)에 대한 포인터입니다. 최소한 메시에는 위치 데이터와 2D 텍스처 좌표가 포함되어야 합니다.

dwMaxChartNumber [in]

형식: UINT

메시를 분할할 최대 차트 수입니다. 분할 모드에 대한 설명을 참조하세요. 0을 사용하여 D3DX에 스트레치에 따라 아틀라스를 매개 변수화해야 한다고 알릴 수 있습니다.

fMaxStretch [in]

형식: FLOAT

허용되는 스트레칭 양입니다. 0은 스트레칭이 허용되지 않음을 의미하고, 1은 모든 양의 스트레칭을 사용할 수 있다는 것을 의미합니다.

dwTextureIndex [in]

형식: DWORD

사용할 텍스처 좌표 집합을 식별하는 0부터 시작하는 텍스처 좌표 인덱스입니다.

pdwAdjacency [in]

형식: const DWORD*

얼굴당 3개의 DWORD가 있는 인접 데이터 배열에 대한 포인터로, 서로 인접한 삼각형을 나타냅니다( ID3DXBaseMesh::GenerateAdjacency 참조).

pdwFalseEdges

형식: const DWORD*

얼굴당 DWORDS가 3개인 배열입니다. 각 얼굴은 가장자리가 false인지 여부를 나타냅니다. false가 아닌 에지는 -1로 표시되고 false 에지는 다른 값으로 표시됩니다. 이렇게 하면 각 쿼드의 가운데에 있는 가장자리가 잘리지 않는 쿼드 메시의 매개 변수화가 가능합니다.

pfIMTArray [in]

형식: FLOAT*

삼각형을 늘이는 방법을 설명하는 통합 메트릭 텐서 배열에 대한 포인터입니다( IntegratedMetricTensor 참조).

pCallback [in]

형식: LPD3DXUVATLASCB

진행률을 모니터링하는 데 유용한 콜백 함수( LPD3DXUVATLASCB 참조)에 대한 포인터입니다.

fCallbackFrequency [in]

형식: FLOAT

D3DX가 콜백을 호출하는 빈도를 지정합니다. 적절한 기본값은 0.0001f입니다.

pUserContent [in]

형식: LPVOID

콜백 함수에 전달되는 사용자 정의 값에 대한 포인터입니다. 일반적으로 애플리케이션에서 콜백 함수에 대한 컨텍스트 정보를 제공하는 데이터 구조에 대한 포인터를 전달하는 데 사용됩니다.

dwOptions [in]

형식: DWORD

하나 이상의 D3DXUVATLAS 플래그를 결합하여 생성된 차트의 품질을 지정합니다.

ppMeshOut [in]

형식: LPD3DXMESH*

아틀라스를 사용하여 만든 메시에 대한 포인터입니다( ID3DXMesh 참조).

pFacePartitioning [out]

형식: LPD3DXBUFFER

최종 얼굴 분할 데이터의 배열에 대한 포인터입니다. 각 요소에는 얼굴당 하나의 DWORD가 포함됩니다( ID3DXBuffer 참조).

ppVertexRemapArray [out]

형식: LPD3DXBUFFER*

다시 매핑된 꼭짓점 배열에 대한 포인터입니다. 각 배열 요소는 각 최종 꼭짓점이 원래 꼭짓점을 식별합니다(다시 매핑하는 동안 꼭짓점이 분할된 경우). 각 배열 요소는 꼭짓점당 하나의 DWORD를 포함합니다.

ppPartitionResultAdjacency

형식: LPD3DXBUFFER*

ID3DXBuffer 인터페이스에 대한 포인터의 주소입니다. 이 버퍼에는 출력 메시의 각 면에 대해 세 개의 인접 항목을 지정하는 얼굴당 3개의 DWORD 배열이 포함됩니다. D3DXUVAtlasPack()에 대한 후속 호출에는 이 매개 변수가 필요하기 때문에 이 매개 변수는 NULL이 아니어야 합니다.

pfMaxStretchOut [out]

형식: FLOAT*

atlas 알고리즘에 의해 생성된 최대 스트레치 값에 대한 포인터입니다. 범위는 0.0에서 1.0 사이입니다.

pdwNumChartsOut [out]

형식: UINT*

atlas 알고리즘에서 만든 차트 수에 대한 포인터입니다. dwMaxChartNumber가 너무 낮으면 이 매개 변수는 아틀라스를 만드는 데 필요한 최소 차트 수를 반환합니다.

반환 값

형식: HRESULT

함수가 성공하면 반환 값이 D3D_OK. 그렇지 않으면 값이 D3DERR_INVALIDCALL.

설명

D3DXUVAtlasPartition은 D3DXUVAtlasPartition이 최종 압축 단계를 수행하지 않는다는 점을 제외하고 D3DXUVAtlasCreate와 유사합니다.

요구 사항

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

추가 정보

UVAtlas 함수

UV 아틀라스 Command-Line 도구(uvatlas.exe)