DirectX Graphics ·¹ÆÛ·±½º Direct3D extension (D3DX) C/C++ ·¹ÆÛ·±½º ÇÔ¼ö ¸Þ½¬ ÇÔ¼ö D3DXSplitMesh [¸ñÂ÷¿¶÷] [ÁÖ¼Òº¹»ç] [½½·Ôºñ¿ì±â]
|
| Microsoft DirectX 9.0 |
¸Þ½¬¸¦, ÁöÁ¤ÇÑ »çÀÌÁ´Ù ¼¼¼¼ÇÑ ¸Þ½¬¿¡ ºÐÇÒÇÑ´Ù.
±¸¹®
void D3DXSplitMesh(
const LPD3DXMESH pMeshIn, const DWORD *pAdjacencyIn, const DWORD MaxSize, const DWORD Options, DWORD *pMeshesOut, LPD3DXBUFFER *ppMeshArrayOut, LPD3DXBUFFER *ppAdjacencyArrayOut, LPD3DXBUFFER *ppFaceRemapArrayOut, LPD3DXBUFFER *ppVertRemapArrayOut );
ÆÄ¶ó¹ÌÅÍ
- pMeshIn
- [in] ID3DXMesh ÀÎÅÍÆäÀ̽ºÀÇ Æ÷ÀÎÅÍ. ¼Ò½º ¸Þ½¬¸¦ ³ªÅ¸³½´Ù.
- pAdjacencyIn
- [in] 1 ¸é±ÙóÀÇ 3 °³ÀÇ DWORD ÀÇ ¹è¿ÀÇ Æ÷ÀÎÅÍ. ´Ü¼øÈ ÇÏ´Â ¸Þ½¬¿¡ Æ÷ÇԵǴ °¢¸éÀÇ 3 °³ÀÇ ÀÎÁ¢¸éÀ» ÁöÁ¤ÇÑ´Ù.
- MaxSize
- [in] »ý¼ºµÇ´Â ¸Þ½¬ÀÇ Á¤Á¡ÀÇ ÃÖ´ë¼ö.
- Options
- [in] »õ·Î¿î ¸Þ½¬ÀÇ ¿É¼Ç Ç÷¡±×.
- pMeshesOut
- [out, retval] µ¹·Á¹Þ´Â ¸Þ½¬ÀÇ ¼ö.
- ppMeshArrayOut
- [out, retval] »õ·Î¿î ¸Þ½¬ÀÇ ID3DXMesh ÀÎÅÍÆäÀ̽ºÀÇ ¹è¿À» Æ÷ÇÔÇÑ ¹öÆÛ. ¼Ò½º ¸Þ½¬¸¦ n °³ÀÇ ¸Þ½¬¿¡ ºÐÇÒÇÏ´Â °æ¿ì, ppMeshArrayOut ´Â n °³ÀÇ ID3DXMesh Æ÷ÀÎÅÍÀÇ ¹è¿ÀÌ µÈ´Ù.
- ppAdjacencyArrayOut
- [out, retval] »õ·Î¿î ¸Þ½¬ÀÇ ÀÎÁ¢¼º ¹è¿ (DWORD)ÀÇ ¹è¿À» Æ÷ÇÔÇÑ ¹öÆÛ. ¡¸ID3DXBuffer ¡¹¸¦ ÂüÁ¶ÇÒ°Í. ÀÌ ÆÄ¶ó¹ÌÅÍ´Â, ¿É¼ÇÀÌ´Ù.
- ppFaceRemapArrayOut
- [out, retval] »õ·Î¿î ¸Þ½¬ÀÇ ¸éÀç¸Ê ¹è¿ (DWORD)ÀÇ ¹è¿À» Æ÷ÇÔÇÑ ¹öÆÛ. ¡¸ID3DXBuffer¡¹¸¦ ÂüÁ¶ÇÒ°Í. ÀÌ ÆÄ¶ó¹ÌÅÍ´Â, ¿É¼ÇÀÌ´Ù.
- ppVertRemapArrayOut
- [out, retval] »õ·Î¿î ¸Þ½¬ÀÇ, Á¤Á¡Àç¸Ê ¹è¿ÀÇ ¹è¿À» Æ÷ÇÔÇÑ ¹öÆÛ. ¡¸ID3DXBuffer¡¹¸¦ ÂüÁ¶ÇÒ°Í. ÀÌ ÆÄ¶ó¹ÌÅÍ´Â, ¿É¼ÇÀÌ´Ù.
¹Ýȯ°ª
¼º°øÇßÀ» °æ¿ì´Â,D3D_OK ¸¦ µ¹·ÁÁØ´Ù.
½ÇÆÐÇßÀ» °æ¿ì´Â, ´ÙÀ½ÀÇ ¸î°³ÀÇ °ªÀ» µ¹·ÁÁØ´Ù.
D3DERR_INVALIDCALL ¸Þ¼µåÀÇ È£ÃâÀÌ ¹«È¿ÀÌ´Ù. ¿¹¸¦ µé¾î, ¸Þ¼µåÀÇ ÆÄ¶ó¹ÌÅÍ¿¡ ¹«È¿ÀÎ °ªÀÌ ¼³Á¤µÇ¾î ÀÖ´Â °æ¿ì µîÀÌ´Ù. D3DXERR_INVALIDDATA µ¥ÀÌÅͰ¡ ¹«È¿ÀÌ´Ù. E_OUTOFMEMORY Microsoft® Direct3D® °¡ È£ÃâÀ» ¿Ï·áÇϱâ À§ÇÑ ÃæºÐÇÑ ¸Þ¸ð¸®¸¦ ÇÒ´çÇÒ ¼ö°¡ ¾ø¾ú´Ù.
ÁÖÀÇ
ÀÌ ÇÔ¼öÀÇ ÀϹÝÀûÀÎ »ç¿ë ¹æ¹ýÀº, 32 ºñÆ®ÀÇ À妽º¸¦ °¡Áö´Â (Á¤Á¡ÀÌ 65535 °³º¸´Ù ¸¹´Ù) ¸Þ½¬¸¦, °¢°¢ÀÌ 16 ºñÆ®ÀÇ À妽º¸¦ °¡Áö´Â º¹¼öÀÇ ¸Þ½¬¿¡ ºÐÇÒ ÇÏ¸é ¸»ÇÏ´Â °ÍÀÌ´Ù.
ÀÎÁ¢¼º ¹è¿, Á¤Á¡Àç¸Ê ¹è¿, ¹× ¸éÀç¸Ê ¹è¿Àº DWORD ÀÇ ¹è¿ÀÌ´Ù. °¢ ¹è¿Àº n °³ÀÇ DWORD Æ÷ÀÎÅ͸¦ Æ÷ÇÔÇØ, ±× ÈÄ¿¡´Â, Æ÷ÀÎÅÍ·Î ÂüÁ¶ÇÏ´Â DWORD µ¥ÀÌÅͰ¡ µé¾î°¡ ÀÖ´Ù. ¿¹¸¦ µé¾î, ¸Þ½¬ 2 ÀÇ ¸é 3 ¿¡ ´ëÇÑ ¸éÀç¸Ê Á¤º¸¸¦ ¾ò¾î¿Â´Ù °æ¿ì´Â, ´ÙÀ½ Äڵ带 »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¿©±â¿¡¼´Â, ¸éÀç¸Ê µ¥ÀÌÅͰ¡ ppFaceRemapArrayOut ¶ó´Â À̸§ÀÇ º¯¼ö·Î µ¹·Á¹Þ´Â °Í°ú °¡Á¤Çϰí ÀÖ´Ù.
const DWORD **face_remaps = static_cast<DWORD **>(ppFaceRemapArrayOut->GetBufferPointer()); const DWORD remap = face_remaps[2][3];
ÇÔ¼öÀÇ Á¤º¸
Çì´õ d3dx9mesh.h ÀÓÆ÷Æ® ¶óÀ̺귯¸® d3dx9.lib ÃÖÀúÇÑÀÇ operating system Windows 98