DirectX Graphics ·¹ÆÛ·±½º Direct3D extension (D3DX) C/C++ ·¹ÆÛ·±½º ÇÔ¼ö ¸Þ½¬ ÇÔ¼ö D3DXIntersect [¸ñÂ÷¿¶÷] [ÁÖ¼Òº¹»ç] [½½·Ôºñ¿ì±â]
|
| Microsoft DirectX 9.0 |
·¹À̰¡ ¸Þ½¬¿¡ ÇØ´çµÉÁö ¾î¶³Áö¸¦ ÆÇÁ¤ÇÑ´Ù.
±¸¹®
HRESULT D3DXIntersect(
LPD3DXBASEMESH pMesh, CONST D3DXVECTOR3 *pRayPos, CONST D3DXVECTOR3 *pRayDir, BOOL *pHit, DWORD *pFaceIndex, FLOAT *pU, FLOAT *pV, FLOAT *pDist, LPD3DXBUFFER *ppAllHits, DWORD *pCountOfHits );
ÆÄ¶ó¹ÌÅÍ
- pMesh
- [in] ID3DXBaseMesh ÀÎÅÍÆäÀ̽ºÀÇ Æ÷ÀÎÅÍ. Å×½ºÆ®ÇÏ´Â ¸Þ½¬¸¦ ³ªÅ¸³½´Ù.
- pRayPos
- [in] ·¹ÀÌÀÇ ½ÃÁ¡ ÁÂÇ¥¸¦ ÁöÁ¤ÇÏ´Â D3DXVECTOR3 ±¸Á¶Ã¼ÀÇ Æ÷ÀÎÅÍ.
- pRayDir
- [in] ·¹ÀÌÀÇ ¹æÇâÀ» ÁöÁ¤ÇÏ´Â D3DXVECTOR3 ±¸Á¶Ã¼ÀÇ Æ÷ÀÎÅÍ.
- pHit
- [out] BOOL ÀÇ Æ÷ÀÎÅÍ. ·¹À̰¡ ¸Þ½¬ÀÇ »ï°¢ÇüÀÇ ¸é¿¡ ÇØ´çµÇ´Â °æ¿ì, ÀÌ °ªÀº TRUE ·Î ¼³Á¤µÈ´Ù. ±× ÀÌ¿ÜÀÇ °æ¿ì, ÀÌ °ªÀº FALSE ·Î ¼³Á¤µÈ´Ù.
- pFaceIndex
- [out] pHit °¡ TRUE ÀÇ °æ¿ì, ·¹ÀÌÀÇ ½ÃÁ¡¿¡ °¡Àå °¡±î¿î ¸éÀÇ À妽º°ªÀÇ Æ÷ÀÎÅÍ.
- pU
- [out] Á᫐ È÷Æ® ÁÂÇ¥ U ÀÇ Æ÷ÀÎÅÍ.
- pV
- [out] Á᫐ È÷Æ® ÁÂÇ¥ V ÀÇ Æ÷ÀÎÅÍ.
- pDist
- [out] ·¹ÀÌÀÇ ½ÃÁ¡¿¡¼ ±³Á¡±îÁöÀÇ °Å¸®ÀÇ Æ÷ÀÎÅÍ.
- ppAllHits
- [out] D3DXINTERSECTINFO ±¸Á¶Ã¼ÀÇ ¹è¿À» ÀúÀå ÇÏ´Â ID3DXBuffer °³Ã¼ÀÇ Æ÷ÀÎÅÍ.
- pCountOfHits
- [out] ppAllHits ¹è¿³»ÀÇ ¿£Æ®¸®¼ö¸¦ ÀúÀå ÇÏ´Â DWORD ÀÇ Æ÷ÀÎÅÍ.
¹Ýȯ°ª
¼º°øÇßÀ» °æ¿ì´Â,D3D_OK ¸¦ µ¹·ÁÁØ´Ù.
½ÇÆÐÇßÀ» °æ¿ì´Â,E_OUTOFMEMORY ¸¦ µ¹·ÁÁØ´Ù.
ÁÖÀÇ
D3DXIntersect ÇÔ¼ö´Â, »ï°¢ÇüÀÇ ½ÇÁ¦ÀÇ À§Ä¡¿Í´Â °ü°è¾øÀÌ, »ï°¢ÇüÀÇ ³»ºÎ³ª ÁÖº¯ÀÇ Á¡À» ÀÌÇØÇÏ´Â ¹æ¹ýÀ» Á¦°øÇÑ´Ù. ÀÌ ÇÔ¼ö´Â, ´ÙÀ½ÀÇ ½ÄÀ» »ç¿ëÇØ °á°úÀÎ Á¡À» µ¹·ÁÁØ´Ù. V1 + U(V2-V1) + V(V3-V1)
Æò¸é V1V2V3 ÀÇ ¸ðµç Á¡Àº Á᫐ ÁÂÇ¥ (U, V)·Î ³ªÅ¸³¾ ¼ö ÀÖ´Ù. ÆÄ¶ó¹ÌÅÍ U ´Â V2 ÀÇ °á°ú¿¡ ´ëÇÑ °¡ÁßÀ» Á¦¾îÇØ, ÆÄ¶ó¹ÌÅÍ V ´Â, V3 ÀÇ °á°ú¿¡ ´ëÇÑ °¡ÁßÀ» Á¦¾îÇÑ´Ù. ¸¶Áö¸·À¸·Î, 1-U-V ´Â V1 ÀÇ °á°ú¿¡ ´ëÇÑ °¡ÁßÀ» Á¦¾îÇÑ´Ù.
Á᫐ ÁÂÇ¥´Â ÀÏ¹Ý ÁÂÇ¥ÀÇ 1 °³ÀÇ Çü½ÄÀÌ´Ù. ÀÌ ¹®¸ÆÀ¸·Î, Á᫐ ÁÂÇ¥¸¦ »ç¿ëÇÏ´Â °ÍÀº, ÁÂÇ¥°èÀÇ º¯°æÀ» ³ªÅ¸³»°í ÀÖ´Ù. Á÷±³ÁÂÇ¥·Î ÁøÁ¤ÇÑ °ÍÀº, Á᫐ ÁÂÇ¥¿¡¼µµ ÁøÀÌ´Ù.
ÇÔ¼öÀÇ Á¤º¸
Çì´õ d3dx9mesh.h ÀÓÆ÷Æ® ¶óÀ̺귯¸® d3dx9.lib ÃÖÀúÇÑÀÇ operating system Windows 98