DirectX Graphics ·¹ÆÛ·±½º Direct3D C/C++ ·¹ÆÛ·±½º ÀÎÅÍÆäÀ̽º IDirect3DDevice9 ValidateDevice [¸ñÂ÷¿¶÷] [ÁÖ¼Òº¹»ç] [½½·Ôºñ¿ì±â]
|
| Microsoft DirectX 9.0 |
ÇöÀçÀÇ ÅØ½ºÃ³ÀÇ È¥ÇÕ Ã³¸®¿Í Àμö¸¦ ÀåÄ¡°¡ 1 ȸÀÇ Ã³¸®·Î ·»´õ¸µ ÇÒ ¼ö ÀÖ´Â ´É·ÂÀ» º¸°íÇÑ´Ù.
±¸¹®
HRESULT ValidateDevice(
DWORD *pNumPasses );
ÆÄ¶ó¹ÌÅÍ
- pNumPasses
- [out, retval] ¸ÖƼ ÆÐ½º ·»´õ¸µ¿¡ ÀÇÇØ ¸ñÀûÀÇ ÀÌÆåÆ®¸¦ ¿Ï¼ºÇϱâ À§Çؼ ÇÊ¿äÇÑ ·»´õ¸µ ÆÐ½ºÀÇ ¼ö¸¦ ÀúÀå ÇÏ´Â DWORD °ªÀÇ Æ÷ÀÎÅÍ.
¹Ýȯ°ª
¼º°øÇßÀ» °æ¿ì´Â,D3D_OK ¸¦ µ¹·ÁÁØ´Ù.
½ÇÆÐÇßÀ» °æ¿ì´Â, ´ÙÀ½ÀÇ ¸î°³ÀÇ °ªÀ» µ¹·ÁÁØ´Ù.
D3DERR_CONFLICTINGTEXTUREFILTER ÇöÀçÀÇ ÅØ½ºÃ³ ÇÊÅÍ´Â µ¿½Ã¿¡´Â »ç¿ëÇÒ ¼ö ¾ø´Ù. D3DERR_DEVICELOST ÀåÄ¡´Â, ¼Õ½ÇÇϰí ÀÖÁö¸¸, ÇöÀç ¸®¼Â ÇÒ ¼ö ¾ø´Ù. µû¶ó¼, ·»´õ¸µÀº ºÒ°¡´ÉÇÏ´Ù. D3DERR_DRIVERINTERNALERROR ³»ºÎ µå¶óÀ̹ö ¿¡·¯. º¸Åë, ÀÌ ¿¡·¯¸¦ ¹ÞÀ¸¸é ¾ÖÇø®ÄÉÀ̼ÇÀº ¼Ë´Ù¿î ÇØ¾ß ÇÑ´Ù. ´õ ÀÚ¼¼ÇÑ Á¤º¸´Â, ¡¸µå¶óÀ̹öÀÇ ³»ºÎ ¿¡·¯¡¹¸¦ ÂüÁ¶ÇÒ°Í.
D3DERR_TOOMANYOPERATIONS ÀåÄ¡°¡ Áö¿ø Çϰí ÀÖ´Â ¼öº¸´Ù ¸¹Àº ÅØ½ºÃ³ ÇÊÅ͸µ 󸮸¦, ¾ÖÇø®ÄÉÀ̼ÇÀÌ ¿ä±¸Çϰí ÀÖ´Ù. D3DERR_UNSUPPORTEDALPHAARG ¾ËÆÄ ä³Î¿¡ ´ëÇØ¼ ÁöÁ¤µÇ°í ÀÖ´Â ÅØ½ºÃ³ È¥ÇÕ Àμö¸¦, ÀåÄ¡°¡ Áö¿ø Çϰí ÀÖÁö ¾Ê´Ù. D3DERR_UNSUPPORTEDALPHAOPERATION ¾ËÆÄ ä³Î¿¡ ´ëÇØ¼ ÁöÁ¤µÇ°í ÀÖ´Â ÅØ½ºÃ³ È¥ÇÕ Ã³¸®¸¦, ÀåÄ¡°¡ Áö¿ø Çϰí ÀÖÁö ¾Ê´Ù. D3DERR_UNSUPPORTEDCOLORARG »ö°ª¿¡ ´ëÇØ¼ ÁöÁ¤µÇ°í ÀÖ´Â ÅØ½ºÃ³ È¥ÇÕ Àμö¸¦, ÀåÄ¡°¡ Áö¿ø Çϰí ÀÖÁö ¾Ê´Ù. D3DERR_UNSUPPORTEDCOLOROPERATION »ö°ª¿¡ ´ëÇØ¼ ÁöÁ¤µÇ°í ÀÖ´Â ÅØ½ºÃ³ È¥ÇÕ Ã³¸®¸¦, ÀåÄ¡°¡ Áö¿ø Çϰí ÀÖÁö ¾Ê´Ù. D3DERR_UNSUPPORTEDFACTORVALUE ÀåÄ¡°¡ ÁöÁ¤µÈ ÅØ½ºÃ³ °è¼ö°ªÀ» Áö¿ø Çϰí ÀÖÁö ¾Ê´Ù. D3DERR_UNSUPPORTEDTEXTUREFILTER ÀåÄ¡°¡ ÁöÁ¤µÈ ÅØ½ºÃ³ ÇÊÅ͸¦ Áö¿ø Çϰí ÀÖÁö ¾Ê´Ù. D3DERR_WRONGTEXTUREFORMAT ÅØ½ºÃ³ Ç¥¸éÀÇ Çȼ¿ Æ÷¸ËÀÌ ¹«È¿ÀÌ´Ù.
ÁÖÀÇ
IDirect3DDevice9::ValidateDevice ¸Þ¼µå´Â, ´Ù¸¥ ´É·ÂÀÌ ºÎ¼ÓµÇ¾î ÀÖ´Â ½Ã³ª¸®¿À¸¦ °ËÁõÇÏ´Â °æ¿ì¿¡¸¸ »ç¿ëÇØ¾ß ÇÑ´Ù. ¿¹¸¦ µé¾î, ¸ÖƼ ½ºÅ×ÀÌÁö ÅØ½ºÃ³¸µÀÇ ½Ã³ª¸®¿À¿¡¼´Â,D3DCAPS9 ±¸Á¶Ã¼ÀÇ MaxTextureBlendStages ¸â¹ö¿Í MaxSimultaneousTextures ¸â¹ö¸¦ Á¶»çÇÏ´Â °ÍÀ¸·Î, ±× ÀåÄ¡·Î ¸ÖƼ ½ºÅ×ÀÌÁö ÅØ½ºÃ³¸µÀÌ °¡´ÉÇѰ¡ ¾î¶²°¡¸¦ ÆÇ´ÜÇÒ ¼ö ÀÖ´Ù.
ÇöÀçÀÇ Çϵå¿þ¾î°¡, ¹Ýµå½Ã Á¶ÀÛ°ú ÀμöÀÇ °¡´ÉÇÑ ¸ðµç Æí¼ºÀ» ó¸® Çϰí ÀÖÀ» ÇÊ¿ä´Â ¾ø´Ù. ÁÖ¾îÁø Àμö·Î ƯÁ¤ÀÇ È¥ÇÕ Ã³¸®¸¦ ½ÇÇàÇÒ ¼ö ÀÖÀ»Áö ¾î¶³Áö´Â, ¸ñÀûÀÇ È¥ÇÕ Ã³¸®¸¦ ¼³Á¤ÇØ,IDirect3DDevice9::ValidateDevice ¸Þ¼µå¸¦ È£ÃâÇϸé È®ÀÎÇÒ ¼ö ÀÖ´Ù.
IDirect3DDevice9::ValidateDevice ¸Þ¼µå´Â, ÇöÀçÀÇ ·»´õ¸µ ½ºÅ×ÀÌÆ®, ÅØ½ºÃ³, ÅØ½ºÃ³ ½ºÅ×ÀÌÁöÀÇ ½ºÅ×ÀÌÆ®¸¦ »ç¿ëÇØ, ºÒ·Á °£ ½ÃÁ¡¿¡¼ÀÇ È®ÀÎÀ» ½Ç½ÃÇÑ´Ù. ÀÌ È£ÃâÀÇ ÈÄ¿¡ ÀÌ·¯ÇÑ ¿ä¼Ò·Î º¯°æÀÌ ÀÖÀ¸¸é Áö±Ý±îÁöÀÇ È®ÀÎ °á°ú´Â ¹«È¿°¡ µÇ¹Ç·Î, Àå¸é(scene)ÀÇ ·»´õ¸µÀ» Çϱâ Àü¿¡ ÀÌ ¸Þ¼µå¸¦ ´Ù½Ã È£ÃâÇØ¾ß ÇÑ´Ù.
ÃÖÀûÀÎ ÆÛÆ÷¸Õ½º¸¦ ¾òÀ¸·Á¸é , ÃʱâȽÿ¡ IDirect3DDevice9::ValidateDevice ¸¦ È£ÃâÇÏ´Â °Í. ´Ù¸¸, ·»´õ¸µ ·çÇÁ³»¿¡¼ À̰ÍÀ» »ç¿ëÇØ¼´Â ¾È µÈ´Ù.
µðÇ»Áî º¸°£°ªÀÇ Àμö ¶Ç´Â Á¶ÀÛ (D3DTA_DIFFUSED3DTOP_BLENDDIFFUSEALPHA)À¸·Î¼ÀÇ »ç¿ëÀº, ÇöÀçÀÇ Çϵå¿þ¾î¿¡¼´Â °ÅÀÇ Áö¿øÇÏÁö ¾Ê´Â´Ù. ´ëºÎºÐÀÇ Çϵå¿þ¾î¿¡¼´Â, Á÷ÀüÀÇ ÅØ½ºÃ³ ó¸® ½ºÅ×ÀÌÁö¿¡ ÀÖ¾î º¸°£»öµ¥ÀÌÅÍÀÇ °ªÀ» µµÀÔÇϰí ÀÖ´Â Á¤µµÀÌ´Ù.
°¢ ½ºÅ×ÀÌÁöÀÇ ÅØ½ºÃ³ (D3DTA_TEXTURE)´Â, Á¦ 2 Àμö´Â ¾Æ´Ï°í Á¦ 1 Àμö·Î¼ ÁöÁ¤Çϵµ·Ï(µíÀÌ) ÇÑ´Ù.
¸¹Àº Ä«µå´Â, ÀÓÀÇÀÇ ÅØ½ºÃ³ ½ºÅ×ÀÌÁö¿¡ ÀÖ¾î¼ÀÇ µðÇ»Áî°ªÀ̳ª ½ºÄ®¶ó-°ªÀÇ »ç¿ëÀº Áö¿ø Çϰí ÀÖÁö ¾Ê´Ù. À̰͵éÀº, ÃÖÃÊ ¶Ç´Â ¸¶Áö¸· ÅØ½ºÃ³ È¥ÇÕ ½ºÅ×ÀÌÁö¿¡¼¸¸ »ç¿ëÇÒ ¼ö ÀÖ´Â °ÍÀÌ ¸¹´Ù.
ÃÖÃÊÀÇ ÅØ½ºÃ³¿¡ °ü·ÃµÈ È¥ÇÕ À¯´ÏÆ®·Î, ¾ËÆÄ ä³Î·ÎºÎÅÍ Ä÷¯ ä³Î¿¡ÀÇ º¹Á¦³ª ÀÔ·Â ¹ÝÀü µî ÀÌ»óÀÇ ´É·ÂÀ» °¡Áö´Â °ÍÀ» °®Ãá Ä«µå´Â Àû´Ù. µû¶ó¼, ¾ÖÇø®ÄÉÀ̼ǿ¡¼´Â, °¡´ÉÇÑ °æ¿ì, 2 ¹øÂ°ÀÇ ÅØ½ºÃ³ ½ºÅ×ÀÌÁö¸¸À» »ç¿ëÇÏÁö ¾ÊÀ¸¸é ¾È µÉ ¶§°¡ ÀÖ´Ù. ÀÌ·¯ÇÑ Çϵå¿þ¾î¿¡¼´Â, ÃÖÃÊÀÇ À¯´ÏÆ®´Â µðÆúÆ® ½ºÅ×ÀÌÆ®¿¡ ÀÖÀ¸¸é °¡Á¤µÇ¾î D3DTOP_SELECTARG1 󸮿¡ ÀÖ¾î¼ÀÇ Á¦ 1 Ä÷¯ Àμö¿¡´Â D3DTA_TEXTURE °¡ ¼³Á¤µÈ´Ù.
Ãâ·ÂµÇ´Â ¾ËÆÄ°ª¿¡ ´ëÇÑ Ã³¸®·Î, Ä÷¯ 󸮺¸´Ù º¹ÀâÇÑ °Í, ¶Ç´Â Ä÷¯ ó¸®¿Í º»ÁúÀûÀ¸·Î ´Ù¸¥ °ÍÀ» Áö¿ø ÇÏ´Â Çϵå¿þ¾î´Â, ÇÑÃþ ´õ Àû´Ù.
Çϵå¿þ¾î¿¡ µû¶ó¼´Â, D3DTA_TFACTOR ¿Í D3DTA_DIFFUSE ÀÇ µ¿½Ã »ç¿ëÀ» Áö¿ø Çϰí ÀÖÁö ¾Ê´Â °æ¿ìµµ ÀÖ´Ù.
¶Ç ¸¹Àº Ä«µå´Â, ¸ÖƼ ÅØ½ºÃ³¿Í ¹Ó¸Ê Æ®¶óÀÌ ¸®´Ï¾î ÇÊÅ͸µÀÇ µ¿½Ã »ç¿ëÀ» Áö¿ø Çϰí ÀÖÁö ¾Ê´Ù. ¸ÖƼ ÅØ½ºÃ³ È¥ÇÕ Ã³¸®¿¡ ÀÖ¾î¼ÀÇ ÅØ½ºÃ³¿¡ ´ëÇØ¼ Æ®¶óÀÌ ¸®´Ï¾î ÇÊÅ͸µÀÌ ¿ä±¸µÇ¾úÀ» °æ¿ì, Ÿ´ç¼º °ËÁõÀÌ ½ÇÆÐ Çϸé, Æ®¶óÀÌ ¸®´Ï¾î ÇÊÅ͸µÀº ¿ÀÇÁ°¡ µÇ¾î Àç°ËÁõÀ» ÇÑ´Ù. ÀÌ·¯ÇÑ °æ¿ì¿¡´Â, ´ë½Å¿¡ ¸ÖƼ ÆÐ½º ·»´õ¸µÀ» ½ÇÇàÇϸé ÁÁ´Ù.
ÂüÁ¶
IDirect3DDevice9::GetTextureStageState ,IDirect3DDevice9::SetTextureStageState