DirectX Graphics ·¹ÆÛ·±½º Direct3D C/C++ ·¹ÆÛ·±½º ¿°ÅÇü D3DSWAPEFFECT [¸ñÂ÷¿¶÷] [ÁÖ¼Òº¹»ç] [½½·Ôºñ¿ì±â]
|
| Microsoft DirectX 9.0 |
½º¿Ò ÀÌÆåÆ®¸¦ Á¤ÀÇÇÑ´Ù.
±¸¹®
typedef enum _D3DSWAPEFFECT {
D3DSWAPEFFECT_DISCARD = 1,
D3DSWAPEFFECT_FLIP = 2,
D3DSWAPEFFECT_COPY = 3,
D3DSWAPEFFECT_FORCE_DWORD = 0xFFFFFFFF
} D3DSWAPEFFECT;
Á¤¼ö
- D3DSWAPEFFECT_DISCARD
½º¿Ò ÀÌÆåÆ®ÀÇ D3DSWAPEFFECT_FLIP ¶Ç´Â D3DSWAPEFFECT_COPY ¸¦ »ç¿ëÇØ ½º¿Ò üÀÎÀ» »ý¼º ÇßÀ» °æ¿ì, ·±Å¸ÀÓÀº IDirect3DDevice9::Present 󸮰¡ ¹é ¹öÆÛÀÇ ³»¿ë¿¡ ¿µÇâÀ» ÁÖÁö ¾Ê´Â °ÍÀ» º¸ÁõÇÑ´Ù. ´Ù¸¸, ƯÈ÷ À©µµ¿ì ½º¿Ò üÀÎÀÇ Çø³ Àǹ̵éÀ̳ª, Ç® ½ºÅ©¸° ½º¿Ò üÀÎÀÇ ÄÚÇǼ¼¸¸Æ¼½ºÅ©¸¦ ó¸® ÇÏ´Â °æ¿ì´Â, ÀÌ º¸ÁõÀ» ä¿ì±â À§Çؼ(¶§¹®¿¡) »ó´çÇÑ ºñµð¿À ¸Þ¸ð¸®ÀÇ ¿À¹öÇìµå³ª ó¸®ÀÇ ¿À¹öÇìµå¸¦ ¼ö¹ÝÇÏ´Â ÀÏÀÌ ÀÖ´Ù. ¾ÖÇø®ÄÉÀ̼ÇÀº D3DSWAPEFFECT_DISCARD ½º¿Ò ÀÌÆåÆ®¸¦ »ç¿ëÇÏ´Â °ÍÀ¸·Î, ÀÌ·¯ÇÑ ¿À¹öÇìµå¸¦ ȸÇÇÇÒ ¼ö°¡ ÀÖ¾î °¡Àå È¿À²ÀûÀÎ ½º¿Ò üÀÎÀÇ Ç¥Çö ¹æ¹ýÀ» µð½ºÇ÷¹ÀÌ µå¶óÀ̹öÃø¿¡¼ ¼±ÅÃÇÒ ¼ö ÀÖ´Ù. ¶Ç, À̰ÍÀº,D3DPRESENT_PARAMETERS ÀÇ MultiSampleType ¸â¹ö¿¡ D3DMULTISAMPLE_NONE ÀÌ¿ÜÀÇ °ªÀ» ÁöÁ¤ÇßÀ» ¶§¿¡ »ç¿ëÇÒ ¼ö ÀÖ´Â À¯ÀÏÇÑ ½º¿Ò ÀÌÆåÆ®ÀÌ´Ù.
D3DSWAPEFFECT_FLIP ¸¦ »ç¿ëÇÏ´Â ½º¿Ò üÀΰú °°ÀÌ, D3DSWAPEFFECT_DISCARD ¸¦ »ç¿ëÇÏ´Â ½º¿Ò üÀÎÀº º¹¼öÀÇ ¹é ¹öÆÛ¸¦ °¡Áö°í ÀÖ´Â ÀÏÀÌ ÀÖ¾î, ÀÌ·¯ÇÑ ¹öÆÛ¿¡´Â IDirect3DDevice9::GetBackBuffer ¶Ç´Â IDirect3DSwapChain9::GetBackBuffer ¸¦ »ç¿ëÇØ ¾×¼¼½º ÇÒ ¼ö ÀÖ´Ù. ½º¿Ò üÀÎÀº ±â´Ù¸®´Â Çà·Ä (Å¥)·Î¼ º¼ ¼ö°¡ ÀÖ¾î ÀÌ Å¥ Áß(¾È)¿¡¼´Â, ´ÙÀ½ÀÇ Present ¸í·ÉÀ¸·Î Ç¥½ÃµÇ´Â ¹é ¹öÆÛ¿¡ Ç×»ó À妽º 0 ÀÌ ºÙ¾î, ÀÏ´Ü Ç¥½ÃµÈ ¹öÆÛ´Â Å¥·ÎºÎÅÍ ÆÄ±âµÈ´Ù.
ÀÌ ½º¿Ò ÀÌÆåÆ®¸¦ »ç¿ëÇÏ´Â ¾ÖÇø®ÄÉÀ̼ǿ¡¼´Â, ÆÄ±âµÇ´Â ¹é ¹öÆÛÀÇ ³»¿ëÀ» ÃßÃøÇÒ ¼ö ¾ø±â ¶§¹®¿¡, ¹é ¹öÆÛ¸¦ Ç¥½ÃÇÏ´Â Present 󸮸¦ È£ÃâÇϱâ Àü¿¡´Â, ¹é ¹öÆÛ Àüü¸¦ °»½ÅÇÒ Çʿ䰡 ÀÖ´Ù. À̰ÍÀº °Á¦ÀûÀÎ °ÍÀº ¾Æ´ÏÁö¸¸, µð¹ö±× ¹öÀüÀÇ ·±Å¸ÀÓÀº, ÆÄ±âµÇ´Â ¹é ¹öÆÛÀÇ ³»¿ëÀ» ÀÓÀÇÀÇ µ¥ÀÌÅÍ·Î µ¡¾²±âÇÒ ¼ö ÀÖÀ¸¹Ç·Î, °³¹ßÀÚ´Â ¾ÖÇø®ÄÉÀ̼ÇÀÌ ¹é ¹öÆÛ Ç¥¸é Àüü¸¦ ¿Ã¹Ù¸£°Ô °»½ÅÇϰí ÀÖ´Â °ÍÀ» È®ÀÎÇÒ ¼ö ÀÖ´Ù.
- D3DSWAPEFFECT_FLIP
½º¿Ò üÀο¡´Â º¹¼öÀÇ ¹é ¹öÆÛ°¡ Æ÷ÇԵǴ ÀÏÀÌ ÀÖ¾î, ÇÁ·ÐÆ® ¹öÆÛ¸¦ Æ÷ÇÔÇÑ ¼øÈ¯ ±â´Ù¸®´Â Çà·Ä (Å¥)·Î¼ º¼ ¼ö°¡ ÀÖ´Ù. ÀÌ Å¥³»¿¡¼´Â, ¹é ¹öÆÛ¿¡´Â Ç×»ó 0 À¸·ÎºÎÅÍ (n - 1)ÀÇ ¼ø¼¿¡ ¹øÈ£°¡ ºÙ´Â´Ù. ¿©±â¼,n ´Â ¹é ¹öÆÛÀÇ ¼öÀÌ´Ù. µû¶ó¼, 0 Àº ¸¶Áö¸·¿¡ ÇÁ·¹Á¨Å×ÀÌ¼Ç ÇÏ°í ³ª¼ °¡Àå ±ä ½Ã°£ÀÌ °æ°úÇϰí ÀÖ´Â ¹öÆÛ¸¦ ³ªÅ¸³½´Ù. Present °¡ ºÒ·Á °¡¸é Å¥°¡ "¼øÈ¯" µÇ¾î, ÇÁ·ÐÆ® ¹öÆÛ°¡ ¹é ¹öÆÛ (n - 1)°¡ µÇ¾î, ¹é ¹öÆÛ 0 ÀÌ »õ·Î¿î ÇÁ·ÐÆ® ¹öÆÛ°¡ µÈ´Ù.
- D3DSWAPEFFECT_COPY
ÀÌ ½º¿Ò ÀÌÆåÆ®´Â, ´ÜÀÏÀÇ ¹é ¹öÆÛ¸¦ ±¸¼ºÇÏ´Â ½º¿Ò üÀÎ ¿¡ ´ëÇØ¼¸¸ ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. À©µµ¿ì ½º¿Ò üÀÎÀÇ °æ¿ìµµ Ç® ½ºÅ©¸° ½º¿Ò üÀÎÀÇ °æ¿ìµµ, ·±Å¸ÀÓÀº º¹»ç º£À̽ºÀÇ Present 󸮿¡ ÀÇÇÑ Àǹ̵éÀ» º¸ÁõÇÑ´Ù. Áï, ¹é ¹öÆÛÀÇ ³»¿ëÀÌ º¯°æµÉ °ÍÀº ¾ø°í, Çø³ º£À̽ºÀÇ Present 󸮷ΠÇàÇØÁöµµ·Ï(µíÀÌ) ÇÁ·ÐÆ® ¹öÆÛÀÇ ³»¿ëÀ¸·Î ¿Å°Ü³õÀ» ¼ö ÀÖÀ» °ÍÀº ¾ø´Ù.
Ç® ½ºÅ©¸° ½º¿Ò üÀÎÀÇ °æ¿ì, ·±Å¸ÀÓÀº Çø³ ó¸®¿Í º¹»ç ó¸®ÀÇ Æí¼º (Çʿ信 µû¶ó¼, ÀºÆó ¹é ¹öÆÛ·Î Áö¿ø µÈ´Ù)À» »ç¿ëÇØ Present 󸮸¦ ½Ç½ÃÇÑ´Ù. µû¶ó¼, ÇÁ·¹Á¨Å×À̼ÇÀº µð½ºÇ÷¹ÀÌ ¾î´ðÅÍÀÇ ¼öÁ÷±Í¼±°ú µ¿±â µÇ¾î ±× ¼Óµµ´Â ¼±ÅÃµÈ ÇÁ·¹Á¨Å×ÀÌ¼Ç °£°Ý¿¡ ÀÇÇØ Á¦¾îµÈ´Ù. ´Ù¸¸, D3DPRESENT_INTERVAL_IMMEDIATE Ç÷¡±×·Î ÁöÁ¤µÈ ½º¿Ò üÀÎÀº ¿¹¿ÜÀÌ´Ù. D3DPRESENT_PARAMETERS ±¸Á¶Ã¼ÀÇ FullScreen_PresentationInterval ¸â¹öÀÇ ¼³¸íÀ» ÂüÁ¶ÇÒ°Í. ÀÌ °æ¿ì,Present 󸮴 ¼öÁ÷±Í¼±À» ´ë±âÇÏÁö ¾Ê°í , ¹é ¹öÆÛÀÇ ³»¿ëÀ» ÇÁ·ÐÆ® ¹öÆÛ¿¡ Á÷Á¢ º¹»ç ÇÑ´Ù.
- D3DSWAPEFFECT_FORCE_DWORD
ÀÌ ¿°ÅÇüÀ» °Á¦ÀûÀ¸·Î 32 ºñÆ® »çÀÌÁî¿¡ ÄÄÆÄÀÏ ÇÑ´Ù. ÀÌ °ªÀº »ç¿ëµÇÁö ¾Ê¾Ò´Ù.
ÁÖÀÇ
Present ¸¦ È£ÃâÇÑ ÈÄÀÇ ¹é ¹öÆÛ »óÅ´Â, °¢ ½º¿Ò ÀÌÆåÆ®¿¡ ÀÇÇØ ¸íÈ®ÇÏ°Ô Á¤Àǵǰí ÀÖ¾î Microsoft® Direct3D® ÀåÄ¡°¡ Ç® ½ºÅ©¸° ½º¿Ò üÀΰú À©µµ¿ì ½º¿Ò üÀÎÀÇ ¾îµð¿¡¼ »ý¼º µÇ¾ú´ÂÁö¸¦ µû¶ó, ÀÌ »óŰ¡ ¿µÇâÀ» ¹ÞÀ» °ÍÀº ¾ø´Ù. ƯÈ÷, D3DSWAPEFFECT_FLIP ½º¿Ò ÀÌÆåÆ®´Â À©µµ¿ì¿¡¼µµ Ç® ½ºÅ©¸°¿¡¼µµ ¶È°°ÀÌ µ¿ÀÛÇØ, Direct3D ·±Å¸ÀÓÀº ¿ÜºÎ ¹öÆÛ¸¦ »ý¼º ÇÏ´Â °ÍÀ¸·Î À̰ÍÀ» º¸ÁõÇϰí ÀÖ´Ù. °á°úÀûÀ¸·Î, ±×·¯ÇÑ ¾Ç¿µÇâÀ» ȸÇÇÇÒ ¼ö ÀÖ´Â °æ¿ì´Â, Ç×»ó ¾ÖÇø®ÄÉÀ̼ÇÀ¸·Î D3DSWAPEFFECT_DISCARD ¸¦ »ç¿ëÇÏ´Â °ÍÀ» Ãßõ ÇÑ´Ù. ¸Þ¸ð¸®ÀÇ ¼Òºñ ¹× ÆÛÆ÷¸Õ½ºÀÇ Á¡¿¡ ´ëÇØ, ÀÌ ½º¿Ò üÀÎÀº Ç×»ó °¡Àå È¿À²ÀûÀÎ °ÍÀÌ ÀÌÀ¯ÀÌ´Ù.
D3DSWAPEFFECT_FLIP ¶Ç´Â D3DSWAPEFFECT_DISCARD ¸¦ »ç¿ëÇÏ´Â ¾ÖÇø®ÄÉÀ̼ǿ¡¼´Â, Ç® ½ºÅ©¸°ÀÇ ¸ñÀûÁö ¾ËÆÄ°¡ µ¿ÀÛ ÇÏ¸é ±â´ëÇØ¼´Â ¾È µÈ´Ù. Áï,D3DRS_DESTBLEND ·»´õ¸µ ½ºÅ×ÀÌÆ®´Â ¿¹Ãø´ë·Î µ¿ÀÛÇÏÁö ¾Ê´Â´Ù. À̰ÍÀº, ÀÌ·¯ÇÑ ½º¿Ò ÀÌÆåÆ®¸¦ °¡Áö´Â Ç® ½ºÅ©¸° ½º¿Ò üÀο¡´Â, µå¶óÀ̹ö·ÎºÎÅÍ º» ¸í½ÃÀûÀÎ Çȼ¿ Æ÷¸ËÀÌ ¾ø±â ¶§¹®¿¡ÀÌ´Ù. µå¶óÀ̹ö´Â, ¾ËÆÄ ä³ÎÀÌ ¾ø´Â µð½ºÇ÷¹ÀÌ Æ÷¸ËÀ» ¸ÃÁö ¾ÊÀ¸¸é ¾È µÇ´Â °ÍÀ̶ó°í ÃßÃøÇÑ´Ù. À̰ÍÀ» ȸÇÇÇÏ·Á¸é , ´ÙÀ½ÀÇ ¼ø¼¸¦ ½ÇÇàÇÑ´Ù.
- D3DSWAPEFFECT_COPY ¸¦ »ç¿ëÇÑ´Ù.
- D3DCAPS9 ±¸Á¶Ã¼ÀÇ Caps3 ¸â¹ö·Î, D3DCAPS3_ALPHA_FULLSCREEN_FLIP_OR_DISCARD Ç÷¡±×¸¦ üũÇÑ´Ù. ÀÌ Ç÷¡±×´Â, D3DSWAPEFFECT_FLIP ¶Ç´Â D3DSWAPEFFECT_DISCARD ¸¦ »ç¿ëÇÏ´Â °æ¿ì¿¡, µå¶óÀ̹ö°¡ ¾ËÆÄ È¥ÇÕÀ» ½Ç½ÃÇÒ ¼ö ÀÖÀ»Áö ¾î¶³Áö¸¦ ³ªÅ¸³½´Ù.
¿°ÅÇüÀÇ Á¤º¸
Çì´õ d3d9types.h ÃÖÀúÇÑÀÇ operating system Windows 98
ÂüÁ¶
IDirect3DDevice9::Reset ,D3DPRESENT_PARAMETERS