DirectX Graphics ·¹ÆÛ·±½º Direct3D C/C++ ·¹ÆÛ·±½º ÀÎÅÍÆäÀ̽º IDirect3D9 CheckDeviceType   [¸ñÂ÷¿­¶÷] [ÁÖ¼Òº¹»ç] [½½·Ôºñ¿ì±â]
IDirect3D9::CheckDeviceType ¸Þ¼­µå
 
Microsoft DirectX 9.0

IDirect3D9::CheckDeviceType ¸Þ¼­µå


¾î´ðÅÍ·Î Çϵå¿þ¾î °¡¼ÓÈ­ ÀåÄ¡ ŸÀÔÀÌ »ç¿ë °¡´ÉÇѰ¡ ¾î¶²°¡¸¦ °ËÁõÇÑ´Ù.

±¸¹®

HRESULT CheckDeviceType(      

    UINT Adapter,     D3DDEVTYPE DeviceType,     D3DFORMAT DisplayFormat,     D3DFORMAT BackBufferFormat,     BOOL Windowed );

ÆÄ¶ó¹ÌÅÍ

Adapter
[in] ¿­°ÅÇÏ´Â µð½ºÇ÷¹ÀÌ ¾î´ðÅ͸¦ ³ªÅ¸³»´Â ¼­¼ö. D3DADAPTER_DEFAULT ´Â Ç×»ó 1Â÷ µð½ºÇ÷¹ÀÌ ¾î´ðÅÍÀÌ´Ù. ÀÌ °ªÀÌ ½Ã½ºÅÛÀÇ µð½ºÇ÷¹ÀÌ ¾î´ðÅÍÀÇ ¼öÀÌ»óÀÇ °æ¿ì, ÀÌ ¸Þ¼­µå´Â D3DERR_INVALIDCALL ¸¦ µ¹·ÁÁØ´Ù.
DeviceType
[in] D3DDEVTYPE ¿­°ÅÇüÀÇ ¸â¹ö. üũÇÏ´Â ÀåÄ¡ ŸÀÔÀ» ³ªÅ¸³½´Ù.
DisplayFormat
[in] D3DFORMAT ¿­°ÅÇüÀÇ ¸â¹ö. ÀåÄ¡ ŸÀÔÀ» üũÇÏ´Â ¾î´ðÅÍ µð½ºÇ÷¹ÀÌ ¸ðµåÀÇ Æ÷¸ËÀ» ³ªÅ¸³½´Ù. ¿¹¸¦ µé¾î, ÀåÄ¡¿¡ µû¶ó¼­´Â, Çȼ¿ ´ÜÀ§ÀÇ 16 ºñÆ®ÀÇ ¸ðµå¿¡¼­¸¸ µ¿ÀÛÇÏ´Â °Íµµ ÀÖ´Ù.
BackBufferFormat
[in] ¹é ¹öÆÛ Æ÷¸Ë. Æ÷¸ËÀÇ ´õ ÀÚ¼¼ÇÑ Á¤º¸´Â, ¡¸D3DFORMAT ¡¹¸¦ ÂüÁ¶ÇÒ°Í. ÀÌ °ªÀº, ·»´õ¸µ Ÿ°Ù Æ÷¸ËÀÇ 1 °³°¡ ¾Æ´Ï¸é ¾ÈµÈ´Ù. ÇöÀçÀÇ Æ÷¸ËÀº,IDirect3DDevice9::GetDisplayMode ¸¦ »ç¿ëÇØ ÃëµæÇÒ ¼ö ÀÖ´Ù.

À©µµ¿ì ¾ÖÇø®ÄÉÀ̼ǿ¡¼­´Â, Çϵå¿þ¾î°¡ »öº¯È¯À» Áö¿ø Çϰí ÀÖ´Â °æ¿ì, ¹é ¹öÆÛ Æ÷¸ËÀÌ µð½ºÇ÷¹ÀÌ ¸ðµå Æ÷¸Ë°ú ¹Ýµå½Ã ÀÏÄ¡ÇÒ ÇÊ¿ä´Â ¾ø´Ù. »ç¿ë °¡´ÉÇÑ ¹é ¹öÆÛ Æ÷¸Ë¼¼Æ®´Â Á¦Çѵǰí ÀÖÁö¸¸, ·±Å¸ÀÓÀº ÀÓÀÇÀÇ À¯È¿ÇÑ ¹é ¹öÆÛ Æ÷¸ËÀ» »ç¿ëÇØ, ÀÓÀÇÀÇ µ¥½ºÅ©Å¾ Æ÷¸Ë¿¡ ÇÁ·¹Á¨Å×ÀÌ¼Ç ÇÒ ¼ö ÀÖ´Ù. ´Ù¸¸, ÀåÄ¡°¡ µ¥½ºÅ©Å¾ ¸ðµå·Î µ¿ÀÛ °¡´ÉÇØ¾ß ÇÑ´Ù°í ÇÏ´Â ¿ä°Çµµ ÀÖ´Ù. º¸Åë, ÀåÄ¡´Â Çȼ¿ ±Ùó 8 ºñÆ®ÀÇ ¸ðµå¿¡¼­´Â µ¿ÀÛÇÏÁö ¾Ê´Â´Ù.

Ç® ½ºÅ©¸° ¾ÖÇø®ÄÉÀ̼ǿ¡¼­´Â, »öº¯È¯À» ½ÇÇàÇÒ ¼ö ¾ø´Ù.

D3DFMT_UNKNOWN ´Â, À©µµ¿ì ¸ðµå·Î »ç¿ëÇÒ ¼ö ÀÖ´Ù.

Windowed
[in] ÀåÄ¡ ŸÀÔÀÌ Ç® ½ºÅ©¸° ¸ðµå¿Í À©µµ¿ì ¸ðµåÀÇ ¾îµð¿¡¼­ »ç¿ëµÇ´ÂÁö¸¦ ³ªÅ¸³»´Â °ª. TRUE ¸¦ ¼³Á¤ÇßÀ» °æ¿ì, À©µµ¿ì ¾ÖÇø®ÄÉÀ̼ÇÀÇ ¹®Àǰ¡ ½ÇÇàµÈ´Ù. ±× ÀÌ¿ÜÀÇ °æ¿ì´Â, ÀÌ °ª¿¡ FALSE ÇÒ Çʿ䰡 ÀÖ´Ù.

¹Ýȯ°ª

ÀÌ ¾î´ðÅÍ·Î ÀåÄ¡¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Â °æ¿ì´Â,D3D_OK ¸¦ µ¹·ÁÁØ´Ù.

Adapter °¡ ½Ã½ºÅÛÀÇ µð½ºÇ÷¹ÀÌ ¾î´ðÅÍÀÇ ¼öÀÌ»óÀÇ °æ¿ì´Â,D3DERR_INVALIDCALL ¸¦ µ¹·ÁÁØ´Ù. IDirect3D9::CheckDeviceType °¡ Á¸ÀçÇÏÁö ¾Ê´Â ÀåÄ¡¸¦ ÁöÁ¤Çϰí ÀÖ¾úÀ» °æ¿ìµµ,D3DERR_INVALIDCALL ¸¦ µ¹·ÁÁØ´Ù.

¿ä±¸ÇÑ ¹é ¹öÆÛ Æ÷¸ËÀÌ Áö¿øµÇÁö ¾ÊÀºÁö, ÁöÁ¤ÇÑ Æ÷¸ËÀ¸·Î Çϵå¿þ¾î °¡¼ÓÈ­¸¦ »ç¿ëÇÒ ¼ö ¾ø´Â °æ¿ì´Â,D3DERR_NOTAVAILABLE ¸¦ µ¹·ÁÁØ´Ù.



ÁÖÀÇ

ÀåÄ¡Çü Çϵå¿þ¾î Ãß»ó °èÃþ (HAL)¿¡´Â Çϵå¿þ¾î °¡¼ÓÈ­°¡ ÇÊ¿äÇÏ´Ù. ¾ÖÇø®ÄÉÀ̼ǿ¡¼­´Â,CheckDeviceType ¸¦ »ç¿ëÇØ HAL ÀåÄ¡ÀÇ Áö¿ø¿¡ ÇÊ¿äÇÑ Çϵå¿þ¾î ¹× µå¶óÀ̹ö°¡ ÀÖÀ»Áö ¾î¶³Áö¸¦ È®ÀÎÇÒ ¼ö ÀÖ´Ù.

Ç® ½ºÅ©¸° ¾ÖÇø®ÄÉÀ̼ǿ¡¼­´Â, ¾ËÆÄ ä³ÎÀ» Æ÷ÇÔÇÑ DisplayFormat ¸¦ ÁöÁ¤Çؼ­´Â ¾ÈµÈ´Ù. ÀÌ °æ¿ì, È£ÃâÀº ½ÇÆÐÇÑ´Ù. ¹é ¹öÆÛ¿¡ ¾ËÆÄ ä³ÎÀÌ Á¸ÀçÇØµµ ±¦ÂúÁö¸¸, 2 °³ÀÇ µð½ºÇ÷¹ÀÌ Æ÷¸ËÀº ´Ù¸¥ ¸ðµç ¸é¿¡¼­ °°Áö ¾ÊÀ¸¸é ¾È µÈ´Ù. ¿¹¸¦ µé¾î,DisplayFormat °¡ D3DFMT_X1R5G5B5 ÀÇ °æ¿ì,BackBufferFormat ÀÇ À¯È¿ÇÑ °ª¿¡´Â D3DFMT_X1R5G5B5 ¹× D3DFMT_A1R5G5B5 ´Â Æ÷ÇÔµÇÁö¸¸, D3DFMT_R5G6B5 ´Â Á¦¿ÜµÈ´Ù.

´ÙÀ½ »ùÇà ÄÚµå´Â,CheckDeviceType ¸¦ »ç¿ëÇØ, ƯÁ¤ÀÇ ÀåÄ¡ ŸÀÔÀ» ±× ¾î´ðÅÍ·Î »ç¿ëÇÒ ¼ö ÀÖÀ»Áö ¾î¶³Áö¸¦ È®ÀÎÇÏ´Â ¹æ¹ýÀ» ³ªÅ¸³»°í ÀÖ´Ù.
if(SUCCEEDED(pD3Device->CheckDeviceType(D3DADAPTER_DEFAULT, 
                                        D3DDEVTYPE_HAL, 
                                        DisplayFormat, 
                                        BackBufferFormat, 
                                        bIsWindowed)))

     return S_OK;
// There is no HAL on this adapter using this render target format.  
// Try again, using another format.

ÀåÄ¡°¡ µðÆúÆ®ÀÇ ¾î´ðÅͻ󿡼­, ÁöÁ¤µÈ Ç¥¸é Æ÷¸ËÀ¸·Î »ç¿ëÇÒ ¼ö ÀÖ´Â °æ¿ì, ÀÌ ÄÚµå´Â S_OK ¸¦ µ¹·ÁÁØ´Ù.

IDirect3D9::CheckDeviceType ¸¦ »ç¿ëÇØ, µð½ºÇ÷¹ÀÌ Æ÷¸Ë°ú ´Ù¸¥ ¹é ¹öÆÛ¿ÍÀÇ È£È¯¼ºÀ» Å×½ºÆ® Çϸé, ÀûÀýÇÑ °ªÀÌ ¹ÝȯµÈ´Ù. Áï, È£ÃâÀº ÀåÄ¡ÀÇ ´É·ÂÀ» ³ªÅ¸³½´Ù. ¿ä±¸ÇÑ ¹é ¹öÆÛ Æ÷¸Ë¿¡ ÀåÄ¡°¡ ·»´õ¸µ ÇÒ ¼ö ¾ø´Â °æ¿ì¿¡¼­µµ, È£ÃâÀº D3DERR_NOTAVAILABLE ¸¦ µ¹·ÁÁØ´Ù. ÀåÄ¡°¡ ±× Æ÷¸Ë¿¡ ·»´õ¸µ ÇÒ ¼ö ÀÖÁö¸¸, »öº¯È¯À» »ç¿ëÇÑ ÇÁ·¹Á¨Å×À̼ÇÀ» ½ÇÇàÇÒ ¼ö ¾ø´Â °æ¿ìµµ, ¹Ýȯ°ªÀº D3DERR_NOTAVAILABLE °¡ µÈ´Ù. ¾ÖÇø®ÄÉÀ̼ǿ¡¼­´Â,IDirect3D9::CheckDeviceFormatConversion ¸¦ È£ÃâÇØ ÇÁ·¹Á¨Å×ÀÌ¼Ç ÀÚüÀÇ Çϵå¿þ¾î Áö¿øÀ» °ËÃâÇÒ ¼ö ÀÖ´Ù. »öº¯È¯À» »ç¿ëÇÑ ÇÁ·¹Á¨Å×ÀÌ¼Ç ÀÚüÀÇ ¼ÒÇÁÆ®¿þ¾î ¿¡¹Ä·¹À̼ÇÀº Á¦°øµÇÁö ¾Ê´Â´Ù.



© 2002 Microsoft Corporation. All rights reserved.
¡èTOP