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와 유사합니다.
요구 사항
요구 사항 | 값 |
---|---|
헤더 |
|
라이브러리 |
|
추가 정보