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

IDirect3D9::CreateDevice ¸Þ¼­µå


µð½ºÇ÷¹ÀÌ ¾î´ðÅ͸¦ ³ªÅ¸³»±â À§ÇÑ ÀåÄ¡¸¦ »ý¼º ÇÑ´Ù.

±¸¹®

HRESULT CreateDevice(      

    UINT Adapter,     D3DDEVTYPE DeviceType,     HWND hFocusWindow,     DWORD BehaviorFlags,     D3DPRESENT_PARAMETERS *pPresentationParameters,     IDirect3DDevice9** ppReturnedDeviceInterface );

ÆÄ¶ó¹ÌÅÍ

Adapter
[in] µð½ºÇ÷¹ÀÌ ¾î´ðÅ͸¦ ³ªÅ¸³»´Â ¼­¼ö. D3DADAPTER_DEFAULT ´Â Ç×»ó 1Â÷ µð½ºÇ÷¹ÀÌ ¾î´ðÅÍÀÌ´Ù.
DeviceType
[in] D3DDEVTYPE ¿­°ÅÇüÀÇ ¸â¹ö. ¸ñÀûÀÇ ÀåÄ¡ ŸÀÔÀ» ½Äº°ÇÑ´Ù. ¸ñÀûÀÇ ÀåÄ¡ ŸÀÔÀ» ÀÌ¿ëÇÒ ¼ö ¾ø´Â °æ¿ì, ÀÌ ¸Þ¼­µå´Â ½ÇÆÐÇÑ´Ù.
hFocusWindow
[in] ÀÌ Microsoft® Direct3D® ÀåÄ¡·Î Æ÷Ä¿½º¸¦ ¼³Á¤ÇÏ´Â À©µµ¿ì ÇÚµé. ÁöÁ¤ÇÏ´Â À©µµ¿ì´Â, Ç® ½ºÅ©¸°ÀÇ ÃÖ»óÁ¤µµ À©µµ¿ì°¡ ¾Æ´Ï¸é ¾ÈµÈ´Ù.
BehaviorFlags
[in] ÀåÄ¡ »ý¼ºÀ» Á¦¾îÇÏ´Â 1 °³ ¶Ç´Â º¹¼öÀÇ ¿É¼ÇÀÇ Æí¼º. ´õ ÀÚ¼¼ÇÑ Á¤º¸´Â, ¡¸D3DCREATE ¡¹¸¦ ÂüÁ¶ÇÒ°Í.
pPresentationParameters
[in, out] D3DPRESENT_PARAMETERS ±¸Á¶Ã¼ÀÇ Æ÷ÀÎÅÍ. »ý¼º ÇÏ´Â ÀåÄ¡ÀÇ ÇÁ·¹Á¨Å×ÀÌ¼Ç ÆÄ¶ó¹ÌÅͰ¡ ±â¼úµÇ°í ÀÖ´Ù.

Microsoft Windows® 2000 ¹× Windows XP ÀÇ °æ¿ì, Ç® ½ºÅ©¸° ÀåÄ¡ÀÇ µð½ºÇ÷¹ÀÌ refresh rate´Â, ´ÙÀ½ÀÇ ¼ø¼­·Î ¼³Á¤µÈ´Ù.

  1. »ç¿ëÀÚ Á¤ÀÇÀÇ Á¦·Î°¡ ¾Æ´Ñ ForcedRefreshRate ·¹Áö½ºÆ®¸® Ű (ÀåÄ¡°¡ Áö¿ø ÇÏ´Â °æ¿ì)
  2. ÇÁ·¹Á¨Å×ÀÌ¼Ç ÆÄ¶ó¹ÌÅÍ¿¡ ¾ÖÇø®ÄÉÀ̼ÇÀÌ ÁöÁ¤ÇÑ Á¦·Î°¡ ¾Æ´Ñ refresh rate°ª
  3. ÃÖ½ÅÀÇ µ¥½ºÅ©Å¾ ¸ðµåÀÇ refresh rate (ÀåÄ¡°¡ Áö¿ø ÇÏ´Â °æ¿ì)
  4. 75 Hz (ÀåÄ¡°¡ Áö¿ø ÇÏ´Â °æ¿ì)
  5. 60 Hz (ÀåÄ¡°¡ Áö¿ø ÇÏ´Â °æ¿ì)
  6. ÀåÄ¡ÀÇ µðÆúÆ®.

Áö¿øµÇÁö ¾ÊÀº refresh rateÀº, ±×°Íº¸´Ù ÀÛÀº Áö¿ø µÇ°í ÀÖ´Â ÃÖ´ëÀÇ refresh rate·Î ¿Å°ÜÁø´Ù. ¿¹¸¦ µé¾î, ¾ÖÇø®ÄÉÀ̼ÇÀ¸·Î 63 Hz ¸¦ ÁöÁ¤ÇßÀ» °æ¿ì¿¡´Â, 60 Hz °¡ »ç¿ëµÈ´Ù. 57 Hz º¸´Ù ÀÛÀº refresh rate´Â Áö¿ø µÇÁö ¾Ê´Â´Ù.

ÀÌ ¸Þ¼­µå¸¦ È£ÃâÇϸé,D3DPRESENT_PARAMETERS ÀÇ º¹¼öÀÇ ¸â¹öÀÇ °ªÀÌ ¹Ù²ï´Ù.

  • À©µµ¿ì ¸ðµå ¹× Ç® ½ºÅ©¸° ¸ðµå¿¡ ´ëÇØ,BackBufferCount,BackBufferWidth, ¹× BackBufferHeight = 0.
  • À©µµ¿ì ¸ðµå¿¡¸¸ ºÙ¾î,BackBufferFormat = D3DFMT_UNKNOWN. Ç® ½ºÅ©¸° ¸ðµåÀÇ °æ¿ì´Â Æ÷¸ËÀ» ÁöÁ¤ÇÒ Çʿ䰡 ÀÖ´Ù.

D3DCREATE_ADAPTERGROUP_DEVICE ¸¦ ¼³Á¤ÇßÀ» °æ¿ì,pPresentationParameters ´Â ¹è¿­ÀÌ´Ù. Á¸ÀçÇÏ´Â ÇìµåÀÇ ¼ö¿¡ °ü°è¾øÀÌ, 1 °³ÀÇ ±íÀÌ/½ºÅÙ½Ç Ç¥¸é¸¸ÀÌ ÀÚµ¿ÀûÀ¸·Î »ý¼º µÈ´Ù.

ppReturnedDeviceInterface
[out, retval] µ¹·Á¹Þ´Â IDirect3DDevice9 ÀÎÅÍÆäÀ̽ºÀÇ Æ÷ÀÎÅÍ ÁÖ¼Ò. »ý¼º µÈ ÀåÄ¡¸¦ ³ªÅ¸³½´Ù.

¹Ýȯ°ª

¼º°øÇßÀ» °æ¿ì´Â,D3D_OK ¸¦ µ¹·ÁÁØ´Ù.

½ÇÆÐÇßÀ» °æ¿ì´Â, ´ÙÀ½ÀÇ ¸î°³ÀÇ °ªÀ» µ¹·ÁÁØ´Ù.

D3DERR_INVALIDCALL¸Þ¼­µåÀÇ È£ÃâÀÌ ¹«È¿ÀÌ´Ù. ¿¹¸¦ µé¾î, ¸Þ¼­µåÀÇ ÆÄ¶ó¹ÌÅÍ¿¡ ¹«È¿ÀÎ °ªÀÌ ¼³Á¤µÇ¾î ÀÖ´Â °æ¿ì µîÀÌ´Ù.
D3DERR_NOTAVAILABLEÀÌ ÀåÄ¡´Â, ¹®ÀÇÇÑ Å×Å©´ÐÀ» Áö¿ø Çϰí ÀÖÁö ¾Ê´Ù.
D3DERR_OUTOFVIDEOMEMORYDirect3D °¡ 󸮸¦ ½Ç½ÃÇϴµ¥ ÃæºÐÇÑ µð½ºÇ÷¹ÀÌ ¸Þ¸ð¸®°¡ ¾ø´Ù.


ÁÖÀÇ

ÀÌ ¸Þ¼­µå·ÎºÎÅÍ´Â, ¿ä±¸ÇÑ µð½ºÇ÷¹ÀÌ ¸ðµå (¶Ç´Â À©µµ¿ì)·Î ¼³Á¤µÇ¾î, ÀûÀýÇÑ ¹é ¹öÆÛ¸¦ ÇÒ´çÇÒ ¼ö ÀÖ´ø, ¿ÏÀüÇÏ°Ô µ¿ÀÛÇÏ´Â ÀåÄ¡ ÀÎÅÍÆäÀ̽º°¡ µ¹¾Æ°£´Ù. ¾ÖÇø®ÄÉÀ̼ÇÀº, Çʿ信 µû¶ó¼­ ±íÀÌ ¹öÆÛ¸¦ »ý¼º ÇØ ¼³Á¤ÇÏ´Â °Í¸¸À¸·Î ÁÁ´Ù (D3DPRESENT_PARAMETERS ÀÇ EnableAutoDepthStencil °¡ FALSE À̶ó°í »óÁ¤ÇÑ´Ù).

ÀÌ ¸Þ¼­µå´Â, WM_CREATE ÀÇ Ã³¸®Áß¿¡ ½ÇÇàÇØ¼­´Â ¾ÈµÈ´Ù. ¾ÖÇø®ÄÉÀ̼ÇÀº, WM_CREATE ÀÇ Ã³¸®Áß¿¡ Direct3D ¿¡ À©µµ¿ì ÇÚµéÀ» °Ç³×Á־´Â ¾È µÈ´Ù. ÀåÄ¡ÀÇ »ý¼º¡¤¸±¸®Á¸®¼ÂÀ» À§ÇÑ È£ÃâÀº, Æ÷Ä¿½º À©µµ¿ìÀÇ À©µµ¿ì ÇÁ·Î½ÃÀú¿Í °°Àº thread¸¦ »ç¿ëÇØ ½ÇÇàÇÒ Çʿ䰡 ÀÖ´Ù.

D3DCREATE_HARDWARE_VERTEXPROCESSING,D3DCREATE_MIXED_VERTEXPROCESSING,D3DCREATE_SOFTWARE_VERTEXPROCESSING ´Â ¼­·Î ¹èŸÀûÀÎ Ç÷¡±×À̸ç, ÀÌ ¸Þ¼­µå¸¦ È£ÃâÇÒ ¶§´Â, ÀÌ·¯ÇÑ Á¤Á¡ ó¸® Ç÷¡±×ÀÇ Àû¾îµµ 1°³¸¦ ¹Ýµå½Ã ÁöÁ¤ÇØ¾ß ÇÑ´Ù.

ÀåÄ¡ÀÇ ÀϺημ­ »ý¼º µÈ ¹é ¹öÆÛ´Â, ÇÁ·¹Á¨Å×ÀÌ¼Ç ÆÄ¶ó¹ÌÅÍ·Î D3DPRESENTFLAG_LOCKABLE_BACKBUFFER °¡ ÁöÁ¤µÇ°í ÀÖ´Â °æ¿ì¿¡¸¸ Àá±Ý °¡´ÉÇÏ´Ù. ¸ÖƼ »ùÇà ¹é ¹öÆÛ ¹× ±íÀÌ Ç¥¸éÀº Àá±Û ¼ö ¾ø´Ù.

IDirect3DDevice9::Reset ,IUnknown::Release ,IDirect3DDevice9::TestCooperativeLevel ¸Þ¼­µå´Â, ÀÌ ¸Þ¼­µå¸¦ »ç¿ëÇØ ÀåÄ¡¸¦ »ý¼º ÇÑ thread¿Í °°Àº thread·ÎºÎÅÍ È£ÃâÇØ¾ß ÇÑ´Ù.

À©µµ¿ì ¸ðµåÀÇ ¹é ¹öÆÛ Æ÷¸Ë¿¡ ´ëÇØ¼­´Â,IDirect3D9::CreateDevice,IDirect3DDevice9::Reset,IDirect3DDevice9::CreateAdditionalSwapChain ÀÇ È£Ãâ·Î D3DFMT_UNKNOWN ¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. Áï, ¾ÖÇø®ÄÉÀ̼ǿ¡¼­´Â, À©µµ¿ì ¸ðµå¿¡ ´ëÇÑ IDirect3D9::CreateDevice ¸¦ È£ÃâÇϱâ Àü¿¡, ÇöÀçÀÇ µ¥½ºÅ©Å¾ Æ÷¸ËÀ» ¹®ÀÇÇÒ ÇÊ¿ä´Â ¾ø´Ù. Ç® ½ºÅ©¸° ¸ðµå¿¡ ´ëÇØ¼­´Â, ¹é ¹öÆÛ Æ÷¸ËÀ» ÁöÁ¤ÇÒ Çʿ䰡 ÀÖ´Ù.

ÂüÁ¶

Direct3DCreate9 ,D3DDEVICE_CREATION_PARAMETERS ,IDirect3DDevice9::Reset ,¸ÖƼ Çìµå


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