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

IDirect3D9::CheckDeviceFormat ¸Þ¼­µå


Ç¥¸éÀÇ Æ÷¸ËÀÌ, ÁöÁ¤ÇÑ ¸®¼Ò½º ŸÀÔÀ¸·Î¼­ ÀÌ¿ëÇÒ ¼ö ÀÖÀ»Áö ¾î¶³Áö, ¹× ÀÌ ¾î´ðÅ͸¦ »ç¿ëÇÏ´Â ÀåÄ¡·Î ÅØ½ºÃ³, ½ºÅÙ½Ç ¹öÆÛ, ·»´õ¸µ Ÿ°Ù Áß Çϳª, ¶Ç´Â À̰͵é 3 °³ÀÇ Æí¼ºÀ¸·Î¼­ »ç¿ëÇÒ ¼ö ÀÖÀ»Áö ¾î¶³Áö¸¦ Á¶»çÇÑ´Ù.

±¸¹®

HRESULT CheckDeviceFormat(      

    UINT Adapter,     D3DDEVTYPE DeviceType,     D3DFORMAT AdapterFormat,     DWORD Usage,     D3DRESOURCETYPE RType,     D3DFORMAT CheckFormat );

ÆÄ¶ó¹ÌÅÍ

Adapter
[in] ¹®ÀÇ ´ë»óÀÇ µð½ºÇ÷¹ÀÌ ¾î´ðÅ͸¦ ³ªÅ¸³»´Â ¼­¼ö. D3DADAPTER_DEFAULT ´Â Ç×»ó 1Â÷ µð½ºÇ÷¹ÀÌ ¾î´ðÅÍÀÌ´Ù. ÀÌ °ªÀÌ ½Ã½ºÅÛÀÇ µð½ºÇ÷¹ÀÌ ¾î´ðÅÍÀÇ ¼öÀÌ»óÀÇ °æ¿ì, ÀÌ ¸Þ¼­µå´Â D3DERR_INVALIDCALL ¸¦ µ¹·ÁÁØ´Ù.
DeviceType
[in] D3DDEVTYPE ¿­°ÅÇüÀÇ ¸â¹ö. ÀåÄ¡ ŸÀÔÀ» ½Äº°ÇÑ´Ù.
AdapterFormat
[in] D3DFORMAT ¿­°ÅÇüÀÇ ¸â¹ö. ¾î´ðÅÍ·Î »ç¿ëµÇ´Â µð½ºÇ÷¹ÀÌ ¸ðµåÀÇ Æ÷¸ËÀ» ½Äº°ÇÑ´Ù.
Usage
[in] Ç¥¸é¿¡ ´ëÇØ¼­ ¿ä±¸ÇÏ´Â »ç¿ë ¹æ¹ý ¿É¼Ç. »ç¿ë ¹æ¹ý ¿É¼ÇÀº,D3DUSAGE ¹× D3DUSAGE_QUERY Á¤¼öÀÇ ÀÓÀÇÀÇ Æí¼ºÀÌ´Ù (CheckDeviceFormat ¿¡ ´ëÇØ¼­´Â D3DUSAGE Á¤¼öÀÇ ¼­ºê ¼¼Æ®¸¸ÀÌ À¯È¿. ¡¸D3DUSAGE¡¹¿¡ Àִ ǥ¸¦ ÂüÁ¶ÇÒ°Í).
RType
[in] ¹®ÀÇ ´ë»óÀÇ Æ÷¸ËÀ¸·Î »ç¿ëÇÏ´Â °ÍÀ» ¿ä±¸ÇÏ´Â ¸®¼Ò½º ŸÀÔ. D3DRESOURCETYPE ÀÇ ¸â¹ö.
CheckFormat
[in] Usage ·Î ÁöÁ¤ÇÑ ¹æ¹ýÀ¸·Î »ç¿ëÇϴ ǥ¸éÀÇ Æ÷¸ËÀ» ³ªÅ¸³½´Ù. D3DFORMAT ÀÇ ¸â¹ö.

¹Ýȯ°ª

Æ÷¸ËÀÌ, ¿ä±¸µÈ »ç¿ë ¹æ¹ý¿¡ ´ëÇØ, ÁöÁ¤µÈ ÀåÄ¡¿Í ȣȯ¼ºÀÌ ÀÖ´Â °æ¿ì, ÀÌ ¸Þ¼­µå´Â D3D_OK ¸¦ µ¹·ÁÁØ´Ù.

Adapter °¡ ½Ã½ºÅÛÀÇ µð½ºÇ÷¹ÀÌ ¾î´ðÅÍÀÇ ¼öÀÌ»óÀÇ °æ¿ì, ¶Ç´Â DeviceType °¡ Áö¿øµÇÁö ¾ÊÀº °æ¿ì, ÀÌ ¸Þ¼­µå´Â D3DERR_INVALIDCALL ¸¦ µ¹·ÁÁØ´Ù. Æ÷¸ËÀÌ ÀÌ »ç¿ë ¹æ¹ý¿¡¼­´Â ÀåÄ¡·Î ¹Þ¾Æµé¿©ÁöÁö ¾Ê´Â °æ¿ì, ÀÌ ¸Þ¼­µå´Â D3DERR_NOTAVAILABLE ¸¦ µ¹·ÁÁØ´Ù.



ÁÖÀÇ

¾ÖÇø®ÄÉÀ̼ÇÀº,IDirect3D9::CheckDeviceFormat ¿¡ D3DUSAGE_AUTOGENMIPMAP ¸¦ ÁöÁ¤ÇØ È£ÃâÇØ, ƯÁ¤ÀÇ Æ÷¸Ë¿¡ ´ëÇÑ ÀÚµ¿ »ý¼ºÀÇ Áö¿øÀ» °ËÃâÇÒ ¼ö ÀÖ´Ù. ¹Ó¸Ê ÀÚµ¿ »ý¼ºÀÇ ¿ä±¸´Â, ÈùÆ®¶ó°í º¸¿©Áø´Ù. µû¶ó¼­, ÀÌ ¸Þ¼­µå´Â DDOK_NOAUTOGEN ¸¦ µ¹·ÁÁÙ ¼ö°¡ ÀÖ´Ù. ¹Ó¸ÊÀÇ »ý¼º¿¡¸¸ ½ÇÆÐÇßÀ» °æ¿ì, ÀÌ °ªÀº À¯È¿ÇÑ ¼º°ø ÄÚµåÀÌ´Ù. ¹Ó¸ÊÀÇ ÀÚµ¿ »ý¼ºÀÌ ½ÇÆÐÇßÀ» °æ¿ì, ¾ÖÇø®ÄÉÀ̼ÇÀº ¹Ó¸ÊÈ­µÇÁö ¾ÊÀº ÅØ½ºÃ³¸¦ ¹Þ´Â´Ù. ´õ ÀÚ¼¼ÇÑ Á¤º¸´Â, ¡¸¹Ó¸ÊÀÇ ÀÚµ¿ »ý¼º¡¹À» ÂüÁ¶ÇÒ°Í.

¿ÀÇÁ ½ºÅ©¸°ÀÇ ´Ü¼øÇÑ Ç÷¹ÀΠǥ¸é Æ÷¸Ë¿¡ ´ëÇØ Á¶»çÇÏ·Á¸é ,Usage = 0 ¹× RType = RTYPE_SURFACE ¸¦ ÁöÁ¤ÇÑ´Ù.

IDirect3D9::CheckDeviceFormat ÀÇ ÀϹÝÀûÀÎ ¿ëµµ´Â, ƯÁ¤ÀÇ ½ºÅÙ½Ç Ç¥¸é Æ÷¸ËÀÌ Á¸ÀçÇÒÁö ¾î¶³Áö¸¦ È®ÀÎÇÏ´Â °ÍÀÌ´Ù. ¿­°Å ó¸®ÀÇ ´õ ÀÚ¼¼ÇÑ Á¤º¸´Â, ¡¸ÀåÄ¡ÀÇ ¼±Åá¹À» ÂüÁ¶ÇÒ°Í. ´ÙÀ½ »ùÇà ÄÚµå´Â,IDirect3D9::CheckDeviceFormat ¸¦ »ç¿ëÇØ ½ºÅÙ½Ç Æ÷¸ËÀÇ À¯¹«¸¦ È®ÀÎÇÏ´Â ¹æ¹ýÀ» ³ªÅ¸³»°í ÀÖ´Ù.

BOOL IsDepthFormatExisting( D3DFORMAT DepthFormat, D3DFORMAT AdapterFormat ) 
{
    HRESULT hr = pD3D->CheckDeviceFormat( D3DADAPTER_DEFAULT,
                                          D3DDEVTYPE_HAL,
                                          AdapterFormat,
                                          D3DUSAGE_DEPTHSTENCIL,
                                          D3DRTYPE_SURFACE,
                                          CheckFormat);

    return SUCCEEDED( hr );
}

À§¿¡ÀÇ È£ÃâÀº, ½Ã½ºÅÛ¿¡ CheckFormat °¡ Á¸ÀçÇÏÁö ¾Ê´Â °æ¿ì´Â FALSE ¸¦ µ¹·ÁÁØ´Ù.

IDirect3D9::CheckDeviceFormat ¸¶½ÃÀÚ 1 °³ÀÇ ÀϹÝÀûÀÎ ¿ëµµ´Â, ƯÁ¤ÀÇ Ç¥¸é Æ÷¸Ë¿¡ Á¸ÀçÇÏ´Â ÅØ½ºÃ³¸¦, ÇöÀçÀÇ µð½ºÇ÷¹ÀÌ ¸ðµå·Î ·»´õ¸µ ÇÒ ¼ö ÀÖÀ»Áö ¾î¶³Áö¸¦ È®ÀÎÇÏ´Â °ÍÀÌ´Ù. ´ÙÀ½ »ùÇà ÄÚµå´Â,IDirect3D9::CheckDeviceFormat ¸¦ »ç¿ëÇØ, ÅØ½ºÃ³ Æ÷¸ËÀÌ Æ¯Á¤ÀÇ ¹é ¹öÆÛ Æ÷¸Ë°ú ȣȯ¼ºÀÌ ÀÖÀ»Áö ¾î¶³Áö¸¦ È®ÀÎÇÏ´Â ¹æ¹ýÀ» ³ªÅ¸³»°í ÀÖ´Ù.

BOOL IsTextureFormatOk( D3DFORMAT TextureFormat, D3DFORMAT AdapterFormat ) 
{
    HRESULT hr = pD3D->CheckDeviceFormat( D3DADAPTER_DEFAULT,
                                          D3DDEVTYPE_HAL,
                                          AdapterFormat,
                                          0,
                                          D3DRTYPE_TEXTURE,
                                          CheckFormat);

    return SUCCEEDED( hr );
}

À§¿¡ÀÇ È£ÃâÀº, ¾î´ðÅÍ Ç¥¸é Æ÷¸ËÀÌ AdapterFormat ÀÏ ¶§,CheckFormat ¸¦ »ç¿ëÇØ ÅØ½ºÃ³¸¦ ·»´õ¸µ ÇÒ ¼ö ¾ø´Â °æ¿ì, FALSE ¸¦ µ¹·ÁÁØ´Ù.



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