DirectX Graphics ·¹ÆÛ·±½º Direct3D C/C++ ·¹ÆÛ·±½º ÀÎÅÍÆäÀ̽º IDirect3DDevice9 SetClipPlane [¸ñÂ÷¿¶÷] [ÁÖ¼Òº¹»ç] [½½·Ôºñ¿ì±â]
|
| Microsoft DirectX 9.0 |
ÀåÄ¡ÀÇ »ç¿ëÀÚ Á¤ÀÇ Å¬¸³¸éÀÇ °è¼ö¸¦ ¼³Á¤ÇÑ´Ù.
±¸¹®
HRESULT SetClipPlane(
DWORD Index, const float *pPlane );
ÆÄ¶ó¹ÌÅÍ
- Index
- [in] Æò¸é ¹æÁ¤½ÄÀÇ °è¼ö¸¦ ¼³Á¤Çϴ Ŭ¸³¸éÀÇ À妽º.
- pPlane
- [in] ¼³Á¤ÇÏ´Â ÀÏ¹Ý Æò¸é ¹æÁ¤½Ä Çü½ÄÀÇ Å¬¸³¸é°è¼ö¸¦ ³ªÅ¸³»´Â °ªÀÇ, 4 ¿ä¼Ò·Î ±¸¼ºµÇ´Â ¹è¿ÀÇ ÁÖ¼ÒÀÇ Æ÷ÀÎÅÍ. ¡¸ÁÖÀÇ¡¹¸¦ ÂüÁ¶ÇÒ°Í.
¹Ýȯ°ª
¼º°øÇßÀ» °æ¿ì´Â,D3D_OK ¸¦ µ¹·ÁÁØ´Ù.
½ÇÆÐÇßÀ» °æ¿ì´Â,D3DERR_INVALIDCALL ¸¦ µ¹·ÁÁØ´Ù. ÀÌ ¿¡·¯´Â,Index ÀÇ °ªÀÌ ÀåÄ¡·Î Áö¿ø µÇ´Â ÃÖ´ë Ŭ¸³¸éÀ妽º¸¦ ³Ñ°í ÀÖ´ÂÁö,pPlane ÀÇ ¹è¿ÀÌ 4 °³ÀÇ ºÎµ¿ ¼Ò¼öÁ¡°ªÀ» ÀúÀå ÇÒ ¸¸Å Å©Áö ¾ÊÀº °ÍÀ» ³ªÅ¸³½´Ù.
ÁÖÀÇ
ÀÌ ¸Þ¼µå·Î ¼³Á¤ÇÏ´Â °è¼ö´Â, ÀÏ¹Ý Æò¸é ¹æÁ¤½ÄÀÇ Çü½ÄÀÌ µÇ¾î ÀÖ´Ù. pPlane ÀÇ ¹è¿ÀÇ °ªÀ» ¹è¿³»¿¡¼ÀÇ ¼ø¼¿¡ A, B, C, D ¿Í Çϸé, ÀÌ·¯ÇÑ °ªÀº ÀÏ¹Ý Æò¸é ¹æÁ¤½ÄÀÌ Ax + By + Cz + Dw = 0 ÀÌ µÇµµ·Ï(µíÀÌ) Àû¿ëµÈ´Ù. Ax + By + Cz + Dw >= 0 ÀÎ °æ¿ì, µ¿Â÷ ÁÂÇ¥ (x, y, z, w)ÀÇ Æ÷ÀÎÆ®´Â Æò¸é¿¡¼ Àß¶ó³»Áø ¹ÝÀÇ °ø°£¿¡ Ç¥½ÃµÈ´Ù. Ŭ¸³¸éÀÇ ¹èÈÄ¿¡ Á¸ÀçÇÏ´Â Æ÷ÀÎÆ®´Â Àå¸é(scene)·ÎºÎÅÍ Å¬¸®ÇÎ µÈ´Ù.
°íÁ¤ ±â´É ÆÄÀÌÇÁ¶óÀÎÀÌ »ç¿ëµÇ´Â °æ¿ì, Æò¸é ¹æÁ¤½ÄÀº ¿ùµå °ø°£¿¡ ÀÖÀ¸¸é °¡Á¤µÈ´Ù. ÇÁ·Î±×·¡¹ÖÇÒ ¼ö ÀÖ´Â ÆÄÀÌÇÁ¶óÀÎÀÌ »ç¿ëµÇ´Â °æ¿ì, Æò¸é ¹æÁ¤½ÄÀº Ŭ¸³ °ø°£ (Ãâ·Â Á¤Á¡¿Í °°Àº °ø°£)¿¡ ÀÖÀ¸¸é °¡Á¤µÈ´Ù.
ÀÌ ¸Þ¼µå´Â, ¼³Á¤µÇ¾î Àִ Ŭ¸³¸éÀÇ ½ÄÀ» À¯È¿ÇÏ°Ô ÇÏ´Â °ÍÀº ¾Æ´Ï´Ù. Ŭ¸³¸éÀ» À¯È¿ÇÏ°Ô ÇÏ·Á¸é ,D3DRS_CLIPPLANEENABLE ·»´õ¸µ ½ºÅ×ÀÌÆ®¿¡ Àû¿ëÇÏ´Â DWORD °ªÀÇ ´ëÀÀÇÏ´Â ºñÆ®¸¦ ¼³Á¤ÇÑ´Ù.
ÂüÁ¶
IDirect3DDevice9::GetClipPlane