DirectX Graphics ·¹ÆÛ·±½º Direct3D C/C++ ·¹ÆÛ·±½º ¿°ÅÇü D3DPOOL [¸ñÂ÷¿¶÷] [ÁÖ¼Òº¹»ç] [½½·Ôºñ¿ì±â]
|
| Microsoft DirectX 9.0 |
¸®¼Ò½ºÀÇ ¹öÆÛ¸¦ º¸°ü À¯ÁöÇÏ´Â ¸Þ¸ð¸® Ŭ·¡½º¸¦ Á¤ÀÇÇÑ´Ù.
±¸¹®
typedef enum _D3DPOOL {
D3DPOOL_DEFAULT = 0,
D3DPOOL_MANAGED = 1,
D3DPOOL_SYSTEMMEM = 2,
D3DPOOL_SCRATCH = 3,
D3DPOOL_FORCE_DWORD = 0x7fffffff
} D3DPOOL;
Á¤¼ö
- D3DPOOL_DEFAULT
¸®¼Ò½º´Â, ¸®¼Ò½º¿¡ ´ëÇØ¼ ¿ä±¸µÈ »ç¿ë ¹æ¹ýÀ¸·Î °¡Àå ÀûÇÕÇÑ ¸Þ¸ð¸® Ç®¿¡ ³õ¿©Áø´Ù. À̰ÍÀº, º¸Åë, ·ÎÄà ºñµð¿À ¸Þ¸ð¸®¿Í AGP (Accelerated Graphics Port) ¸Þ¸ð¸®ÀÇ ¾çÂÊ ¸ðµÎ¸¦ Æ÷ÇÔÇÑ, ºñµð¿À ¸Þ¸ð¸®ÀÌ´Ù. D3DPOOL_DEFAULT Ç®Àº, D3DPOOL_MANAGED ¹× D3DPOOL_SYTEMMEM ·ÎºÎÅÍ µ¶¸³Çϰí ÀÖ¾î, ¸®¼Ò½º°¡ ÀåÄ¡ ¾×¼¼½º¿ëÀÇ ¿ì¼± ¸Þ¸ð¸®¿¡ ¹èÄ¡µÇ´Â °ÍÀ» ÁöÁ¤ÇÑ´Ù. D3DPOOL_DEFAULT ´Â, ÀÌ ¸®¼Ò½ºÀÇ ¸Þ¸ð¸® Ç® ŸÀÔÀ¸·Î¼ D3DPOOL_MANAGED ¶Ç´Â D3DPOOL_SYSTEMMEM ÀÇ ¾î´ÀÂÊÀ̵çÀ» ¼±ÅÃÇØ¾ß ÇÏ´Â °ÍÀ» ³ªÅ¸³»°í ÀÖ´Â °ÍÀº ¾Æ´Ï±â ¶§¹®¿¡ ÁÖÀÇ ÇØ¾ß ÇÑ´Ù. D3DPOOL_DEFAULT Ç®¿¡ ¹èÄ¡µÈ ÅØ½ºÃ³´Â, ±×°ÍµéÀÌ µ¿Àû ÅØ½ºÃ³Àΰ¡, ¶Ç´Â PrivateÀÇ 4 ¹®ÀÚ ÄÚµå (FOURCC) µå¶óÀ̹ö Æ÷¸ËÀÎ °æ¿ì¸¸ Àá±Û ¼ö ÀÖ´Ù. Àá±Û ¼ö ¾ø´Â ÅØ½ºÃ³¿¡ ¾×¼¼½º ÇÏ·Á¸é ,IDirect3DDevice9::UpdateSurface ,IDirect3DDevice9::UpdateTexture ,IDirect3DDevice9::GetFrontBufferData ,IDirect3DDevice9::GetRenderTargetData µîÀÇ ÇÔ¼ö¸¦ »ç¿ëÇÒ Çʿ䰡 ÀÖ´Ù. D3DPOOL_MANAGED ´Â, ´ëºÎºÐÀÇ ¾ÖÇø®ÄÉÀ̼ÇÀ¸·Î D3DPOOL_DEFAULT º¸´Ù ÀûÇÕÇÑ °æ¿ì°¡ ¸¹´Ù. Microsoft® Direct3D® ·±Å¸ÀÓ¿¡´Â ¹ÌÁöÀÇ, µå¶óÀ̹ö µ¶ÀÚÀûÀÎ Çȼ¿ Æ÷¸ËÀ¸·Î »ý¼º µÈ ÀϺÎÀÇ ÅØ½ºÃ³¸¦ Àá±Û ¼ö ÀÖ´Â °Í¿¡ ÁÖÀÇ ÇØ¾ß ÇÑ´Ù. ¶Ç, ÅØ½ºÃ³¿Í´Â ´Þ¶ó, ½º¿Ò üÀÎ ¹é ¹öÆÛ, ·»´õ¸µ Ÿ°Ù, Á¤Á¡ ¹öÆÛ, ¹× À妽º ¹öÆÛ¸¦ Àá±Û ¼ö ÀÖ°Ôµµ ÁÖÀÇ ÇØ¾ß ÇÑ´Ù. ÀåÄ¡°¡ ¼Õ½ÇÇßÀ» °æ¿ì´Â, D3DPOOL_DEFAULT ¸¦ »ç¿ëÇØ »ý¼º ÇÑ ¸®¼Ò½º´Â,IDirect3DDevice9::Reset ¸¦ È£ÃâÇϱâ Àü¿¡ ¸±¸®Áî ÇØ¾ß ÇÑ´Ù. ´õ ÀÚ¼¼ÇÑ Á¤º¸´Â, ¡¸ÀåÄ¡ÀÇ ¼Õ½Ç¡¹À» ÂüÁ¶ÇÒ°Í.
D3DPOOL_DEFAULT ¸¦ »ç¿ëÇØ ¸®¼Ò½º¸¦ »ý¼º ÇÒ ¶§ ºñµð¿À Ä«µå ¸Þ¸ð¸®°¡ ÀÌ¹Ì »ç¿ëµÇ°í ÀÖ´Â °æ¿ì´Â, ¿ä±¸¸¦ ä¿ì´Â ÃæºÐÇÑ ¸Þ¸ð¸®¸¦ ¸±¸®Áî Çϱâ À§Çؼ, °ü¸®µÇ´Â ¸®¼Ò½º°¡ Á¦°ÅµÈ´Ù.
- D3DPOOL_MANAGED
¸®¼Ò½º´Â, Çʿ信 µû¶ó¼, ÀåÄ¡·ÎºÎÅÍ ¾×¼¼½º ÇÒ ¼ö ÀÖ´Â ¸Þ¸ð¸®¿¡ ÀÚµ¿ÀûÀ¸·Î º¹»ç µÈ´Ù. °ü¸®µÇ´Â ¸®¼Ò½º´Â, ½Ã½ºÅÛ ¸Þ¸ð¸®¿¡ ¹é¾÷ µÇ¹Ç·Î, ÀåÄ¡°¡ ¼Õ½ÇÇßÀ» ¶§¿¡ »ý¼º ´Ù½Ã ÇÒ Çʿ䰡 ¾ø´Ù. ´õ ÀÚ¼¼ÇÑ Á¤º¸´Â ¡¸¸®¼Ò½ºÀÇ °ü¸®¡¹¸¦ ÂüÁ¶ÇÒ°Í. °ü¸®µÇ´Â ¸®¼Ò½º´Â Àá±Û ¼ö ÀÖ´Ù. ½Ã½ºÅÛ ¸Þ¸ð¸®ÀÇ º¹»ç¸¸ÀÌ Á÷Á¢ º¯°æµÈ´Ù. Direct3D ´Â, Çʿ信 µû¶ó¼, µå¶óÀ̹ö°¡ ¾×¼¼½º °¡´ÉÇÑ ¸Þ¸ð¸®·Î º¯°æ ³»¿ëÀ» º¹»ç ÇÑ´Ù.
- D3DPOOL_SYSTEMMEM
º¸Åë, 3D ÀåÄ¡¿¡ ÀÇÇØ ¾×¼¼½º ÇÒ ¼ö ¾ø´Â ¸Þ¸ð¸®. ½Ã½ºÅÛ RAM ¸¦ »ç¿ëÇÏÁö¸¸, ÆäÀÌ¡ °¡´ÉÇÑ RAM °¡ ÁÙ¾îµé °ÍÀº ¾ø´Ù. ÀÌ·¯ÇÑ ¸®¼Ò½º´Â, ÀåÄ¡°¡ ¼Õ½ÇÇØµµ »ý¼º ´Ù½Ã ÇÒ Çʿ䰡 ¾ø´Ù. ÀÌ Ç®ÀÇ ¸®¼Ò½º´Â Àá±Û ¼ö°¡ ÀÖ¾î D3DPOOL_DEFAULT ¸¦ »ç¿ëÇØ »ý¼º µÈ ¸Þ¸ð¸® ¸®¼Ò½º¿¡ ´ëÇÑ IDirect3DDevice9::UpdateSurface ¶Ç´Â IDirect3DDevice9::UpdateTexture ó¸®ÀÇ Àü¼Û¿øÀ¸·Î¼ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
- D3DPOOL_SCRATCH
¸®¼Ò½º´Â, ½Ã½ºÅÛ RAM ¿¡ ¹èÄ¡µÇ¹Ç·Î, ÀåÄ¡°¡ ¼Õ½ÇÇßÀ» ¶§¿¡ »ý¼º ´Ù½Ã ÇÒ Çʿ䰡 ¾ø´Ù. ÀÌ·¯ÇÑ ¸®¼Ò½º´Â, ÀåÄ¡ÀÇ »çÀÌÁ Æ÷¸ËÀÇ Á¦ÇÑ¿¡ ÀÇÇØ ±¸¼ÓµÇÁö ¾Ê´Â´Ù. µû¶ó¼, Direct3D ÀåÄ¡·ÎºÎÅÍ ¾×¼¼½º ÇÏ´Â Àϵµ, ÅØ½ºÃ³ ¶Ç´Â ·»´õ¸µ Ÿ°ÙÀ¸·Î¼ ¼³Á¤ÇÏ´Â Àϵµ ÇÒ ¼ö ¾ø´Ù. ´Ù¸¸, ÀÌ·¯ÇÑ ¸®¼Ò½º´Â Ç×»ó »ý¼º, Àá±Ý, º¹»ç°¡ °¡´ÉÇÏ´Ù.
- D3DPOOL_FORCE_DWORD
ÀÌ ¿°ÅÇüÀ» °Á¦ÀûÀ¸·Î 32 ºñÆ® »çÀÌÁî¿¡ ÄÄÆÄÀÏ ÇÑ´Ù. ÀÌ °ªÀº »ç¿ëµÇÁö ¾Ê¾Ò´Ù.
ÁÖÀÇ
¸ðµç ¸®¼Ò½º·Î ¸ðµç Ç® ŸÀÔÀÌ À¯È¿ÇÏ´Ù. À̰Ϳ¡´Â, Á¤Á¡ ¹öÆÛ, À妽º ¹öÆÛ, ÅØ½ºÃ³, ¹× Ç¥¸éÀÌ Æ÷ÇԵȴÙ.
·»´õ¸µ Ÿ°Ù ¹× ½ºÅÙ½Ç Ç¥¸é¿ëÀÇ Ç® ŸÀÔ¿¡´Â, ¸î°³ÀÇ Á¦¾àÀÌ ÀÖ´Ù.
Ç® D3DUSAGE_RENDERTARGET D3DUSAGE_DEPTHSTENCIL D3DPOOL_DEFAULT x x D3DPOOL_MANAGED D3DPOOL_SCRATCH D3DPOOL_SYSTEMMEM µ¿ÀûÀÎ »ç¿ë ¹æ¹ý ¹× ¹Ó¸ÊÀÇ »ç¿ë ¹æ¹ý¿¡ ´ëÇØ¼µµ, Ç® ŸÀÔ¿¡ Á¦¾àÀÌ ÀÖ´Ù.
Pool D3DUSAGE_DYNAMIC D3DUSAGE_AUTOGENMIPMAP D3DPOOL_DEFAULT x x D3DPOOL_MANAGED x D3DPOOL_SCRATCH D3DPOOL_SYSTEMMEM x »ç¿ë ¹æ¹ý ŸÀÔÀÇ ´õ ÀÚ¼¼ÇÑ Á¤º¸´Â, ¡¸D3DUSAGE ¡¹¸¦ ÂüÁ¶ÇÒ°Í.
1 °³ÀÇ ¸®¼Ò½º (¹Ó¸ÊÀÇ ¹Ó·¹º§)¿¡ Æ÷ÇԵǴ ´Ù¸¥ °³Ã¼¿¡ ´ëÇØ¼ º¹¼öÀÇ Ç®À» È¥Àç½Ãų ¼ö ¾ø´Ù. ¶Ç, Ç®ÀÌ ¼±Åõǰí ÀÖ´Â °æ¿ì, ±×°ÍÀ» º¯°æÇÒ ¼ö ¾ø´Ù.
¾ÖÇø®ÄÉÀ̼ǿ¡¼´Â, ´ëºÎºÐÀÇ Á¤Àû ¸®¼Ò½º¿¡ ´ëÇØ¼ D3DPOOL_MANAGED ¸¦ »ç¿ëÇÒ Çʿ䰡 ÀÖ´Ù. À̰Ϳ¡ ÀÇÇØ, ¼Õ½ÇÇÑ ÀåÄ¡¸¦ ó¸®ÇÒ Çʿ䰡 ¾ø¾îÁø´Ù. °ü¸®µÇ´Â ¸®¼Ò½º´Â ·±Å¸ÀÓ¿¡ ÀÇÇØ º¹¿øµÈ´Ù. À̰ÍÀº, ƯÈ÷ UMA ½Ã½ºÅÛÀ¸·Î À¯È¿ÇÏ´Ù. ±× ÀÌ¿ÜÀÇ µ¿Àû ¸®¼Ò½º¿¡ ´ëÇØ¼´Â, D3DPOOL_MANAGED ´Â »ç¿ëÇÏÁö ¾Ê´Â °ÍÀÌ ÁÁ´Ù. ½ÇÁ¦, D3DPOOL_MANAGED ¸¦ D3DUSAGE_DYNAMIC ¿Í ÇÔ²² »ç¿ëÇØ, À妽º ¹öÆÛ ¹× Á¤Á¡ ¹öÆÛ¸¦ »ý¼º ÇÒ ¼ö ¾ø´Ù.
µ¿Àû ÅØ½ºÃ³ÀÇ °æ¿ì, ºñµð¿À ¸Þ¸ð¸®¿Í ½Ã½ºÅÛ ¸Þ¸ð¸®ÀÇ ÅØ½ºÃ³ÀÇ Æä¾î¸¦ »ç¿ëÇØ, D3DPOOL_DEFAULT ¸¦ ÁöÁ¤ÇØ ºñµð¿À ¸Þ¸ð¸®¸¦, D3DPOOL_SYSTEMMEM ¸¦ ÁöÁ¤ÇØ ½Ã½ºÅÛ ¸Þ¸ð¸®¸¦ ÇÒ´çÇÏ´Â ÀÏÀÌ ÀÖ´Ù. Àá±Ý ¸Þ¼µå¸¦ »ç¿ëÇØ, ½Ã½ºÅÛ ¸Þ¸ð¸® ÅØ½ºÃ³ÀÇ ºñÆ®¸¦ Àá±Ý ¹× º¯°æÇÒ ¼ö ÀÖ´Ù. ±× ÈÄ,IDirect3DDevice9::UpdateTexture ¸¦ »ç¿ëÇØ, ºñµð¿À ¸Þ¸ð¸® ÅØ½ºÃ³¸¦ °»½ÅÇÒ ¼ö ÀÖ´Ù.
¿°ÅÇüÀÇ Á¤º¸
Çì´õ d3d9types.h ÃÖÀúÇÑÀÇ operating system Windows 98
ÂüÁ¶
IDirect3DDevice9::CreateCubeTexture ,IDirect3DDevice9::CreateIndexBuffer ,IDirect3DDevice9::CreateTexture ,IDirect3DDevice9::CreateVolumeTexture ,IDirect3DDevice9::CreateVertexBuffer ,D3DINDEXBUFFER_DESC ,D3DSURFACE_DESC ,D3DVERTEXBUFFER_DESC ,D3DVOLUME_DESC