Contents:
- 1 °³¿ä
- 2 °ü·Ã¼Àû
- 3 Áֿ丵ũ
- 4 D3DPOOL ÇüÀÇ ¼³¸í
- 5 D3DPOOL ÀÇ Á¦¾à
- 6 D3DPOOL_DEFAULT »ç¿ë ¿¹
- 6.1 ¸®¼Ò½º »ý¼º
- 6.2 ¸®¼Ò½º »ç¿ë
- 7 ´Ù¿î·Îµå
- 8 °ü·Ã¸µÅ©
Á¤Á¡ ¶Ç´Â À妽º ¹öÆÛ, ÅØ½ºÃÄ ¿Í °°Àº ¸®¼Ò½º¸¦ »ý¼ºÇÒ¶§ POOL ÇüÀ» ÁöÁ¤ÇÏ°Ô µÇ¾î ÀÖ´Ù. POOL Çü¿¡ ´ëÇÏ¿© Á¤È®È÷ ¾Ë¾Æ¾ß ÇÏ´Â ÀÌÀ¯´Â POOL Çü¿¡ µû¶ó ¸®¼Ò½º °ü¸® ¹æ¹ýÀÌ ´Ù¸£°í Á¶ÀÛ ¹æ¹ýÀÌ ´Ù¸£±â ¶§¹®ÀÌ´Ù.
Direct3D ±âÃÊ -
- DirectX 9 ¸¦ ÀÌ¿ëÇÑ 3D °ÔÀÓ ÇÁ·Î±×·¡¹Ö ÀÔ¹® Áß¿¡¼ ÀϺκР( ¹Ì¸®º¸±â )
- D3DPOOL Çü¿¡ ´ëÇÏ¿© °£´ÜÈ÷ ¼³¸íµÇ¾î ÀÖÀ½
4 D3DPOOL ÇüÀÇ ¼³¸í #
- D3DPOOL_DEFAULT
·ÎÄà ºñµð¿À ¸Þ¸ð¸®¿Í AGP ¸Þ¸ð¸®¿¡ »ý¼ºÇÑ´Ù. ÀåÄ¡°¡ ¼Õ½ÇµÇ¾úÀ» °æ¿ì IDirect3DDevice9::Reset() ÇÔ¼ö È£Ãâ ÀÌÀü¿¡ ÇØÁ¦µÇ¾î ÇÑ´Ù. µû¶ó¼ ¸®¼Ò½º º¹±¸°¡ ÇÊ¿äÇÏ´Ù. ¸®¼Ò½º¸¦ »ý¼ºÇÒ ¶§ ¸Þ¸ð¸®°¡ ºÎÁ·ÇÒ °æ¿ì Managed ¸®¼Ò½º°¡ Á¦°ÅµÈ´Ù.
- D3DPOOL_MANAGED
Direct3D ¿¡ ÀÇÇÏ¿© ¸®¼Ò½º°¡ °ü¸®µÈ´Ù. ½Ã½ºÅÛ ¸Þ¸ð¸®¿¡ ÀÚµ¿À¸·Î ¹é¾÷µÇ¹Ç·Î ÀåÄ¡°¡ ¼Õ½ÇµÇ¾úÀ» °æ¿ì ¸®¼Ò½º º¹±¸°¡ ÇÊ¿ä ¾ø´Ù.
- D3DPOOL_SYSTEMMEM
½Ã½ºÅÛ ¸Þ¸ð¸®¿¡ »ý¼ºÇÑ´Ù. µû¶ó¼ ÀåÄ¡°¡ ¼Õ½ÇµÇ¾úÀ» °æ¿ì ¸®¼Ò½º º¹±¸°¡ ÇÊ¿ä ¾øÀ¸¸ç D3DPOOL_DEFAULT ·Î »ý¼ºµÈ ¸®¼Ò½º¿¡ ´ëÇÑ IDirect3DDevice9::UpdateSurface() ¶Ç´Â IDirect3DDevice9::UpdateTexture() ÀÇ Source ·Î »ç¿ëÇÒ ¼ö ÀÖ´Ù.
- D3DPOOL_SCRATCH
½Ã½ºÅÛ ¸Þ¸ð¸®¿¡ »ý¼ºµÇ¸ç ÀåÄ¡°¡ ¼Õ½ÇµÇ¾úÀ» °æ¿ì º¹±¸°¡ ÇÊ¿ä ¾ø´Ù. ¸®¼Ò½º °£ÀÇ º¹»ç°¡ °¡´ÉÇÏ´Ù.
- D3DPOOL_FORCE_DWORD
»ç¿ëÇÏÁö ¾Ê´Â´Ù.
Âü°í> ¼º´É Çâ»óÀ» À§ÇÑ D3DPOOL ¼±ÅÃ
- Á¤Àû ¸®¼Ò½º´Â D3DPOOL_MANAGED ¸¦ ÀÌ¿ëÇÏ´Â °ÍÀÌ È¿À²ÀûÀÌ´Ù.
ÇÁ·¹ÀÓ ¸¶´Ù °»½ÅµÇ´Â ¸®¼Ò½º´Â ¸®¼Ò½º °ü¸® ¾Ë°í¸®Áò¿¡ ÀÇÇÏ¿© ¿ÀÈ÷¿© ¼º´ÉÀÌ ÀúÇ쵃 ¼ö ÀÖ´Ù.
- µ¿Àû ¸®¼Ò½º´Â D3DPOOL_DEFAULT ¸¦ ÀÌ¿ëÇÏ´Â °ÍÀÌ È¿À²ÀûÀÌ´Ù.
¸®¼Ò½º °ü¸® ¾Ë°í¸®ÁòÀÇ Àû¿ëÀ» ¹ÞÁö ¾ÊÀ¸¹Ç·Î µ¿Àû ¸®¼Ò½º¿¡ ´ëÇÏ¿© È¿°úÀûÀÌ´Ù.
5 D3DPOOL ÀÇ Á¦¾à #
¸®¼Ò½º ÀÇ Á¾·ù¿¡ µû¶ó ´ÙÀ½°ú °°Àº POOL ŸÀÔ ¼³Á¤ÀÌ ÇÊ¿äÇÏ´Ù.
| POOL ŸÀÔ | D3DUSAGE |
| RENDERTARGET | DEPTHSTENCIL | DYNAMIC | AUTOGENMIPMAP |
| D3DPOOL_DEFAULT | O | O | O | O |
| D3DPOOL_MANAGED | | | | O |
| D3DPOOL_SYSTEMMEM | | | | |
| D3DPOOL_SCRATCH | | | O | |
| D3DPOOL_FORCE_DWORD | | | | |
6 D3DPOOL_DEFAULT »ç¿ë ¿¹ #
D3DPOOL_DEFAULT ´Â ÁÖ·Î µ¿Àû ¸®¼Ò½º¿¡ »ç¿ëµÇ´Âµ¥ Á¤Á¡ ¹öÆÛ¸¦ ¿¹¸¦ µé¾î ¾î¶»°Ô »ý¼ºÇÏ°í »ç¿ëÇÏ´ÂÁö, ±×¸®°í Á» ´õ ³ªÀº ¼º´ÉÀ» À§ÇÏ¿© ¾î¶² Ç÷¡±×¸¦ °°ÀÌ »ç¿ëÇÏ´ÂÁö ¾Ë¾Æ º»´Ù.
Âü°í> °¢ Ç÷¡±×¿¡ ´ëÇÑ Á» ´õ ÀÚ¼¼ÇÑ »çÇ×Àº DirectX SDK µµ¿ò¸» À» Âü°íÇÑ´Ù.
1 if( FAILED( m_pD3DDevice->CreateVertexBuffer(
2 nBufferSize,
3 D3DUSAGE_DYNAMIC | D3DUSAGE_WRITEONLY,
4 D3DFVF_OBJECT_VERTEX,
5 D3DPOOL_DEFAULT,
6 &m_pVB,
7 NULL ) ) )
8 {
9 return E_FAIL;
10 }
Á¤Á¡ ¶Ç´Â À妽º ¹öÆÛ¸¦ »ý¼ºÇÒ ¶§ »ç¿ë°¡´ÉÇÑ Ç÷¡±×·Î
D3DUSAGE_DYNAMIC,
D3DUSAGE_WRITEONLY °¡ ÀÖÀ¸¸ç ´Ù¸¥ POOL Çü¿¡¼ »ç¿ëÇÒ °æ¿ì ¼º´ÉÀúÇϳª ¿¡·¯°¡ ¹ß»ýÇÒ ¼ö ÀÖ´Ù.
1 if( FAILED( m_pVB->Lock( 0, 0, &pVertex, D3DLOCK_DISCARD ) ) )
2 {
3 return E_FAIL;
4 }
D3DPOOL_DEFAULT ·Î »ý¼ºµÈ ¸®¼Ò½º¿¡ ´ëÇÏ¿©
D3DLOCK_DISCARD Ç÷¡±×¸¦ »ç¿ëÇϸé Á» ´õ ³ªÀº ¼º´ÉÀ» ¾òÀ» ¼ö ÀÖ´Ù.
SubCategoryGame