DirectX Graphics ÇÁ·Î±×·¡¹Ö °¡ÀÌµå °íµµÀÇ ÁÖÁ¦ ¸ÖƼ Çìµå   [¸ñÂ÷¿­¶÷] [ÁÖ¼Òº¹»ç] [½½·Ôºñ¿ì±â]
¸ÖƼ Çìµå
 
Microsoft DirectX 9.0

¸ÖƼ Çìµå


¸ÖƼ Çìµå Ä«µå´Â, °øÅëÀÇ frame buffer¿Í °¡¼Ó±â¸¦ °¡Á®, µ¶¸³ÇÑ µðÁöÅÐ ¾Æ³¯·Î±× ÄÁ¹öÅÍ (DAC)¿Í ¸ð´ÏÅÍ Ãâ·ÂÀ» °¡Áö´Â Ä«µåÀÌ´Ù. ÀÌ ÀåÄ¡°¡ Á¦°øÇÏ´Â ¸ÖƼ ¸ð´ÏÅÍ Áö¿øÀ» »ç¿ëÇÏ¸é ´Ù¸¥ µð½ºÇ÷¹ÀÌ ¾î´ðÅ͸¦ °°Àº ¼ö »ç¿ëÇßÀ» °æ¿ìº¸´Ù Æí¸®ÇÏ´Ù.

¸ÖƼ Çìµå Ä«µå´Â, º¹¼öÀÇ Ç® ½ºÅ©¸° ½º¿Ò üÀÎÀ» ±¸µ¿ÇÏ´Â ´ÜÀÏÀÇ ¾ÖÇø®ÄÉÀÌ¼Ç ÇÁ·Î±×·¡¹Ö ÀÎÅÍÆäÀ̽º (API) ·¹º§ÀÇ ÀåÄ¡·Î¼­ API °¡ °ø°³ÇÑ´Ù. À̰Ϳ¡ ÀÇÇØ, ¸ðµç ¸®¼Ò½º°¡ ¸ðµç Çìµå¿¡ ÀÇÇØ °øÀ¯µÇ¾î ¸ðµç Çìµå°¡ ¿ÏÀüÈ÷ °°Àº ´É·ÂÀ» °¡Áö°Ô µÈ´Ù. °¢ Çìµå¸¦ µ¶¸³ÇÑ µð½ºÇ÷¹ÀÌ ¸ðµå·Î ¼³Á¤ÇØ, µû·Î µû·Î ¸®ÇÁ·¹½¬ (IDirect3DSwapChain9::Present ¸¦ »ç¿ë) ÇÒ ¼ö ÀÖ´Ù. µ¿½Ã¿¡ ÇÁ·¹Á¨Å×ÀÌ¼Ç ÇÏ·Á¸é ,IDirect3DDevice9::Present ¸¦ »ç¿ëÇÑ´Ù.

¸ÖƼ Çìµå ÀåÄ¡ÀÇ ½º¿Ò üÀÎÀº ¸ðµÎ Ç® ½ºÅ©¸°ÀÌ ¾Æ´Ï¸é ¾ÈµÈ´Ù. ¸ÖƼ Çìµå ¸ðµå¿¡ ¹Ù²î¾úÀ» ¶§, ÀåÄ¡´Â Ç® ½ºÅ©¸°ÀΠä°¡ ¾Æ´Ï¸é ¾ÈµÈ´Ù. À©µµ¿ì ¸ðµå¿¡ µ¹¾Æ¿Ã ¶§´Â, ÀåÄ¡¸¦ ÆÄ±âÇÒ Çʿ䰡 ÀÖ´Ù (Alt+Tab Ű¿¡ ÀÇÇÑ ÃÖ¼ÒÈ­ 󸮴 ¿¹¿Ü).

ºñµð¿À ¸Þ¸ð¸®¸¦ º¹¼öÀÇ Çìµå¿¡ ºÐÇÒÇØ °¢ Çìµå¸¦ ¿ÏÀüÇÏ°Ô µ¶¸³ÇÑ °¡¼Ó±â·Î¼­ Ãë±ÞÇÏ´Â Á¾·¡ÀÇ ¹æ¹ýÀº, Áö±Ýµµ ÀϹÝÀûÀ¸·Î »ç¿ëµÇ°í ÀÖ´Ù. ±× ¸ÞÄ«´ÏÁò¿¡ ´ë½ÅÇØ ÀÌ Á¦¾ÈÀÌ À¯È¿°¡ µÇ´Â °ÍÀº, ¾ÖÇø®ÄÉÀ̼ÇÀÌ Microsoft® DirectX® 9.0 ¸ÖƼ Çìµå ¸ðµå·Î ±â´ÉÇϵµ·Ï(µíÀÌ) ƯÈ÷ ÄÚµù µÇ°í ÀÖ´Â °æ¿ì »ÓÀÌ´Ù.

µå¶óÀ̹ö¿¡´Â, 2 °³ÀÇ Ã³¸® ¸ðµå°£ÀÇ º¯È¯¿¡ ÇÊ¿äÇÑ Á¤º¸°¡ Á¦°øµÈ´Ù.

1 °³ÀÇ Çìµå´Â "¸¶½ºÅÍ" Çìµå·Î ºÒ·Á °°Àº Ä«µåÀÇ ±× ¿ÜÀÇ Çìµå´Â "Á¾¼Ó" Çìµå¶ó°í ºÎ¸¥´Ù. ½Ã½ºÅÛ³»¿¡ º¹¼öÀÇ ¸ÖƼ Çìµå ¾î´ðÅͰ¡ Á¸ÀçÇÏ´Â °æ¿ì, 1 °³ÀÇ ¸ÖƼ Çìµå ¾î´ðÅÍÀÇ ¸¶½ºÅÍ Çìµå¿Í ±× Á¾¼Ó Çìµå´Â "±×·ì" À̶ó°í ºÎ¸¥´Ù. °¢ ±×·ìÀº ±× ±×·ìÀÇ ¸¶½ºÅÍ ÇìµåÀÇ ¾î´ðÅÍ ¹øÈ£·Î ³ªÅ¸³­´Ù.

D3DCAPS9 ±¸Á¶Ã¼°¡ °»½ÅµÇ¾î, ´ÙÀ½ÀÇ Çϵå¿þ¾îÀÇ »õ·Î¿î ´É·ÂÀÌ °ø°³µÈ´Ù.

UINT NumberOfAdaptersInGroup; 
UINT MasterAdapterOrdinal; 
UINT AdapterOrdinalInGroup;

ÀÌ Á¤ÀǸ¦ »ç¿ëÇϸé DirectX 8. x ¿¡¼­ÀÇ °°°Ô ¾î´ðÅͰ¡ °¢°¢ µ¶¸³ÇÑ Ä«µåÀÎ°Í °°ÀÌ, ¸ÖƼ Çìµå Ä«µå·Î º¹¼öÀÇ ¾î´ðÅ͸¦ Ç¥ÇöÇÒ ¼ö ÀÖ´Ù.

¸ÖƼ Çìµå ÀåÄ¡¸¦ »ý¼º ÇÏ·Á¸é ,IDirect3D9::CreateDevice ¿¡ µ¿ÀÛ Ç÷¡±× D3DCREATE_ADAPTERGROUP_DEVICE ¸¦ ÁöÁ¤ÇÑ´Ù. ÇÁ·¹Á¨Å×ÀÌ¼Ç ÆÄ¶ó¹ÌÅÍ (D3DPRESENT_PARAMETERS ÀÇ ¹è¿­)¿¡´Â,NumberOfAdaptersInGroup ¿ä¼Ò¸¦ Æ÷ÇÔÇÒ Çʿ䰡 ÀÖ´Ù. ·±Å¸ÀÓ¿¡ ÀÇÇØ,AdapterOrdinalInGroup ÀÇ ¹øÈ£¼ø¼­¿¡ °¢ Çìµå¿¡ °¢ ¿ä¼Ò¸¦ ÇÒ´çÇÒ ¼ö ÀÖ´Ù. D3DCREATE_ADAPTERGROUP_DEVICE ¸¦ ¼³Á¤ÇßÀ» °æ¿ì´Â, °¢ ÇÁ·¹Á¨Å×ÀÌ¼Ç ÆÄ¶ó¹ÌÅ͸¦ ´ÙÀ½°ú °°ÀÌ ¼³Á¤ÇÒ Çʿ䰡 ÀÖ´Ù.

°Ô´Ù°¡ EnableAutoDepthStencil °¡ TRUE ÀÇ °æ¿ì´Â, ´ÙÀ½ÀÇ °¢ Çʵ带 °¢ D3DPRESENT_PARAMETERS ¿Í °°Àº °ªÀ¸·Î ¼³Á¤ÇÑ´Ù.

D3DCREATE_ADAPTERGROUP_DEVICE °¡ ¼³Á¤µÇ¾î ÀÖ´Â °æ¿ì,IDirect3DDevice9::CreateAdditionalSwapChain ÀÇ Ãß°¡ È£ÃâÀº ¹«È¿ÀÌ´Ù.

ÀåÄ¡°¡ D3DCREATE_ADAPTERGROUP_DEVICE ¸¦ »ç¿ëÇØ »ý¼º µÇ°í ÀÖ´Â °æ¿ì,IDirect3DDevice9::Reset ´Â D3DPRESENT_PARAMETERS ÀÇ ¹è¿­À» ±â´ëÇÑ´Ù.

IDirect3DDevice9::Reset ¿¡°Ô °Ç³×Áö´Â °¢ D3DPRESENT_PARAMETERS ´Â Ç® ½ºÅ©¸°ÀÌ ¾Æ´Ï¸é ¾ÈµÈ´Ù. À©µµ¿ì ¸ðµå¿¡ µ¹¾Æ¿À·Á¸é , ¸ÖƼ ÇìµåÀÇ ÀåÄ¡¸¦ ÆÄ±âÇØ, ¸ÖƼ Çìµå°¡ ¾Æ´Ñ ÀåÄ¡¸¦ À©µµ¿ì ¸ðµå·Î »ý¼º ´Ù½Ã ÇÒ Çʿ䰡 ÀÖ´Ù.

´ÙÀ½¿¡, ±âº»ÀûÀÎ »ç¿ë¹ýÀÇ ½Ã³ª¸®¿À¸¦ ³ªÅ¸³½´Ù.

1.  ¸ÖƼ Çìµå ÀåÄ¡¸¦ »ý¼º ÇÑ´Ù.
2.  ÀåÄ¡ÀÇ °¢ ½º¿Ò üÀÎÀ¸·Î ¹Ýº¹ÇØ:
   3.  i ¹øÂ°ÀÇ ½º¿Ò üÀο¡ ´ëÇØ¼­ GetBackBuffer ¸¦ È£ÃâÇÑ´Ù
   4.  SetRenderTarget ¸¦ È£ÃâÇÑ´Ù.  
   5.  DrawPrimitive ¸¦ È£ÃâÇÑ´Ù.  
   6.  ¿É¼ÇÀ¸·Î¼­ swapchain::Present ¸¦ È£ÃâÇÑ´Ù (¶Ç´Â,
      ¸ðµç ½º¿Ò üÀÎÀÌ µå·ÎÀ×(Drawing) µÇ¾î ·çÇÁ¿Ü¿¡¼­ ÇÁ·¹Á¨Å×ÀÌ¼Ç µÉ ¶§±îÁö ±â´Ù¸°´Ù).
7.  ¹Ýº¹ÀÇ Á¾·á.
8.  ¿É¼ÇÀ¸·Î¼­ device::Present ¸¦ »ç¿ëÇØ ¸ðµç ½º¿Ò üÀÎÀ» ÇÁ·¹Á¨Å×ÀÌ¼Ç ÇÑ´Ù.

´õ ÀÚ¼¼ÇÑ Á¤º¸´Â, ¡¸IDirect3D9::CreateDevice ¡¹ ¹× ¡¸IDirect3DDevice9::GetNumberOfSwapChains ¡¹¸¦ ÂüÁ¶ÇÒ°Í.



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