DirectX Graphics ·¹ÆÛ·±½º Direct3D C/C++ ·¹ÆÛ·±½º ÀÎÅÍÆäÀ̽º IDirect3D9 CreateDevice [¸ñÂ÷¿¶÷] [ÁÖ¼Òº¹»ç] [½½·Ôºñ¿ì±â]
|
| Microsoft DirectX 9.0 |
µð½ºÇ÷¹ÀÌ ¾î´ðÅ͸¦ ³ªÅ¸³»±â À§ÇÑ ÀåÄ¡¸¦ »ý¼º ÇÑ´Ù.
±¸¹®
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´Â, ´ÙÀ½ÀÇ ¼ø¼·Î ¼³Á¤µÈ´Ù.
- »ç¿ëÀÚ Á¤ÀÇÀÇ Á¦·Î°¡ ¾Æ´Ñ ForcedRefreshRate ·¹Áö½ºÆ®¸® Ű (ÀåÄ¡°¡ Áö¿ø ÇÏ´Â °æ¿ì)
- ÇÁ·¹Á¨Å×ÀÌ¼Ç ÆÄ¶ó¹ÌÅÍ¿¡ ¾ÖÇø®ÄÉÀ̼ÇÀÌ ÁöÁ¤ÇÑ Á¦·Î°¡ ¾Æ´Ñ refresh rate°ª
- ÃÖ½ÅÀÇ µ¥½ºÅ©Å¾ ¸ðµåÀÇ refresh rate (ÀåÄ¡°¡ Áö¿ø ÇÏ´Â °æ¿ì)
- 75 Hz (ÀåÄ¡°¡ Áö¿ø ÇÏ´Â °æ¿ì)
- 60 Hz (ÀåÄ¡°¡ Áö¿ø ÇÏ´Â °æ¿ì)
- ÀåÄ¡ÀÇ µðÆúÆ®.
Áö¿øµÇÁö ¾ÊÀº 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_OUTOFVIDEOMEMORY Direct3D °¡ 󸮸¦ ½Ç½ÃÇϴµ¥ ÃæºÐÇÑ µð½ºÇ÷¹ÀÌ ¸Þ¸ð¸®°¡ ¾ø´Ù.
ÁÖÀÇ
ÀÌ ¸Þ¼µå·ÎºÎÅÍ´Â, ¿ä±¸ÇÑ µð½ºÇ÷¹ÀÌ ¸ðµå (¶Ç´Â À©µµ¿ì)·Î ¼³Á¤µÇ¾î, ÀûÀýÇÑ ¹é ¹öÆÛ¸¦ ÇÒ´çÇÒ ¼ö ÀÖ´ø, ¿ÏÀüÇÏ°Ô µ¿ÀÛÇÏ´Â ÀåÄ¡ ÀÎÅÍÆäÀ̽º°¡ µ¹¾Æ°£´Ù. ¾ÖÇø®ÄÉÀ̼ÇÀº, Çʿ信 µû¶ó¼ ±íÀÌ ¹öÆÛ¸¦ »ý¼º ÇØ ¼³Á¤ÇÏ´Â °Í¸¸À¸·Î ÁÁ´Ù (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 ,¸ÖƼ Çìµå