Fungsi D3DXUVAtlasPartition
Buat atlas UV untuk jala.
Sintaks
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
);
Parameter
-
pMesh [in]
-
Jenis: LPD3DXMESH
Penunjuk ke jala input (lihat ID3DXMesh) yang berisi geometri objek untuk menghitung atlas. Minimal, jala harus berisi data posisi dan koordinat tekstur 2D.
-
dwMaxChartNumber [in]
-
Jenis: UINT
Jumlah maksimum bagan untuk mempartisi jala. Lihat komentar tentang mode partisi. Gunakan 0 untuk memberi tahu D3DX bahwa atlas harus diparameterkan berdasarkan peregangan.
-
fMaxStretch [in]
-
Jenis: FLOAT
Jumlah peregangan yang diizinkan. 0 berarti tidak ada peregangan yang diizinkan, 1 berarti sejumlah peregangan dapat digunakan.
-
dwTextureIndex [in]
-
Jenis: DWORD
Indeks koordinat tekstur berbasis nol yang mengidentifikasi kumpulan koordinat tekstur mana yang akan digunakan.
-
pdwAdjacency [in]
-
Jenis: const DWORD*
Penunjuk ke array data yang berdekatan dengan 3 DWORD per wajah, menunjukkan segitiga mana yang berdekatan satu sama lain (lihat ID3DXBaseMesh::GenerateAdjacency).
-
pdwFalseEdges
-
Jenis: const DWORD*
Array dengan 3 DWORDS per wajah. Setiap wajah menunjukkan apakah tepi salah atau tidak. Tepi non-false ditunjukkan oleh -1, tepi palsu ditunjukkan oleh nilai lain. Ini memungkinkan parameterisasi jala quad di mana tepi ke bawah tengah setiap quad tidak akan dipotong.
-
pfIMTArray [in]
-
Jenis: FLOAT*
Penunjuk ke array tensor metrik terintegrasi yang menjelaskan cara meregangkan segitiga (lihat IntegratedMetricTensor).
-
pCallback [in]
-
Jenis: LPD3DXUVATLASCB
Penunjuk ke fungsi panggilan balik (lihat LPD3DXUVATLASCB) yang berguna untuk memantau kemajuan.
-
fCallbackFrequency [in]
-
Jenis: FLOAT
Tentukan seberapa sering D3DX akan memanggil panggilan balik; nilai default yang wajar adalah 0,0001f.
-
pUserContent [in]
-
Jenis: LPVOID
Penunjuk ke nilai yang ditentukan pengguna yang diteruskan ke fungsi panggilan balik; biasanya digunakan oleh aplikasi untuk meneruskan pointer ke struktur data yang menyediakan informasi konteks untuk fungsi panggilan balik.
-
dwOptions [in]
-
Jenis: DWORD
Tentukan kualitas bagan yang dihasilkan dengan menggabungkan satu atau beberapa bendera D3DXUVATLAS .
-
ppMeshOut [in]
-
Jenis: LPD3DXMESH*
Arahkan ke jala yang dibuat dengan atlas (lihat ID3DXMesh).
-
pFacePartitioning [out]
-
Jenis: LPD3DXBUFFER
Penunjuk ke array data pemartisian wajah akhir. Setiap elemen berisi satu DWORD per wajah (lihat ID3DXBuffer).
-
ppVertexRemapArray [out]
-
Jenis: LPD3DXBUFFER*
Penunjuk ke array simpul yang dipetakan ulang. Setiap elemen array mengidentifikasi puncak asli setiap puncak akhir berasal (jika puncak dipisahkan selama pemindahan ulang). Setiap elemen array berisi satu DWORD per vertex.
-
ppPartitionResultAdjacency
-
Jenis: LPD3DXBUFFER*
Alamat penunjuk ke antarmuka ID3DXBuffer . Buffer ini akan berisi array tiga DWORD per wajah yang menentukan tiga tetangga untuk setiap wajah dalam jala output. Parameter ini tidak boleh NULL, karena panggilan berikutnya ke D3DXUVAtlasPack() memerlukannya.
-
pfMaxStretchOut [out]
-
Jenis: FLOAT*
Penunjuk ke nilai peregangan maksimum yang dihasilkan oleh algoritma atlas. Rentangnya antara 0,0 dan 1,0.
-
pdwNumChartsOut [out]
-
Jenis: UINT*
Penunjuk ke jumlah bagan yang dibuat oleh algoritma atlas. Jika dwMaxChartNumber terlalu rendah, parameter ini akan mengembalikan jumlah minimum bagan yang diperlukan untuk membuat atlas.
Menampilkan nilai
Jenis: HRESULT
Jika fungsi berhasil, nilai yang dikembalikan adalah D3D_OK; jika tidak, nilainya D3DERR_INVALIDCALL.
Keterangan
D3DXUVAtlasPartition mirip dengan D3DXUVAtlasCreate, kecuali bahwa D3DXUVAtlasPartition tidak melakukan langkah pengemasan akhir.
Persyaratan
Persyaratan | Nilai |
---|---|
Header |
|
Pustaka |
|
Lihat juga