DirectX Graphics DirectX 9.0 ¿¡ÀÇ Ã³¸® [¸ñÂ÷¿¶÷] [ÁÖ¼Òº¹»ç] [½½·Ôºñ¿ì±â]
|
| Microsoft DirectX 9.0 |
Microsoft® DirectX® 9.0 ¿¡¼´Â ´ÙÀ½ÀÇ ±â´ÉÀÌ º¯°æµÇ°í ÀÖ´Ù. ÀÌ·¯ÇÑ ±â´ÉÀ» »ç¿ëÇϰí ÀÖ´Â ¾ÖÇø®ÄÉÀ̼ÇÀ» DirectX 9.0 ¿¡ À̽ÄÇÏ´Â °æ¿ì´Â, ´ÙÀ½¿¡ ³ªÅ¸³»´Â º¯°æ ³»¿ëÀ» È®ÀÎÇÏ´Â °Í.
DirectX 8. x ¿¡¼´Â,SetIndices ¿¡´Â, À妽º ¹öÆÛÀÇ Æ÷ÀÎÅÍ¿Í Á¤Á¡ ¹öÆÛÀÇ ½ÃÀÛ À§Ä¡¸¦ ³ªÅ¸³»´Â BaseVertexIndex °¡ ÇÊ¿äÇß´Ù. ´Ù¸¥ º¹¼öÀÇ °³Ã¼¸¦ Á¤Á¡ ¹öÆÛ¿¡ ¹èġó¸® ÇÏ´Â ¾ÖÇø®ÄÉÀ̼ÇÀº, À妽º ¹öÆÛ¸¦ ¹Ù²Ù°í ³ª¼ (¶Ç´Â,SetIndices ¸¦ È£ÃâÇÏ°í ³ª¼) DrawIndexedPrimitive ¸¦ È£ÃâÇÏÁö ¾ÊÀ¸¸é ¾È µÇ¾ú´Ù.
DirectX 9.0 ¿¡¼´Â, Á¤Á¡ ¹öÆÛÀÇ ½ÃÀÛ À§Ä¡¸¦ ³ªÅ¸³»´Â BaseVertexIndex °¡ IDirect3DDevice9::DrawIndexedPrimitive ·Î À̵¿Çϰí ÀÖ´Ù.
HRESULT IDirect3DDevice9::DrawIndexedPrimitive(
D3DPRIMITIVETYPE PrimType,
INT BaseVertexIndex,
UINT minIndex,
UINT NumVertices,
UINT startIndex,
UINT primCount );
HRESULT SetIndices(
IDirect3DIndexBuffer9* pIndexData );
CreateImageSurface ´Â IDirect3DDevice9::CreateOffscreenPlainSurface ·Î À̸§ÀÌ º¯°æµÇ¾ú´Ù. ÆÄ¶ó¹ÌÅÍ D3DPOOL °¡ Ãß°¡µÇ¾ú´Ù.
HRESULT CreateOffscreenPlainSurface(
UINT Width,
UINT Height,
D3DFORMAT Format,
D3DPOOL Pool,
IDirect3DSurface9** pReturnedSurfaceInterface);
D3DPOOL_SCRATCH ´Â, ÀÌÀüÀÇ CreateImageSurface ¿¡ ÀÇÇØ »ý¼º µÈ Ç¥¸é¿Í °°Àº Ư¼ºÀ» °¡Áö´Â Ç¥¸éÀ» µ¹·ÁÁØ´Ù.
D3DPOOL_DEFAULT ´Â,IDirect3DDevice9::StretchRect ¹× IDirect3DDevice9::ColorFill ·Î »ç¿ëÇÏ´Â ÀûÀýÇÑ Ç®ÀÌ´Ù.
Microsoft Windows® ÀÇ Çϵå¿þ¾î ÀÎÁ¤ ·¹º§ÀÇ ¹®ÀÇ´Â ÀÀ´ä¿¡ ºñ±³Àû ½Ã°£ÀÌ °É¸®±â (À§ÇØ)¶§¹®¿¡ (¸îÃʰ£), ¾ÖÇø®ÄÉÀ̼ÇÀÌ À̰ÍÀ» ¸í½ÃÀûÀ¸·Î ½Ç½ÃÇÏÁö ¾ÊÀ¸¸é ¾È µÇ°Ô µÇ¾ú´Ù. D3DENUM_NO_WHQL_LEVEL °¡ »èÁ¦µÇ¾î D3DENUM_WHQL_LEVEL °¡ Ãß°¡µÇ¾ú´Ù. ´õ ÀÚ¼¼ÇÑ Á¤º¸´Â,D3DADAPTER_IDENTIFIER9 ÀÇ ¡¸WHQLLevel ¸â¹ö¡¹¸¦ ÂüÁ¶ÇÒ°Í.
IDirect3D9::EnumAdapterModes ·Î D3DFORMAT ¸¦ »ç¿ëÇÒ ¼ö ÀÖ°Ô µÇ¾ú´Ù.
HRESULT IDirect3D9::EnumAdapterModes(
UINT Adapter,
D3DFORMAT Format,
UINT Mode,
D3DDISPLAYMODE *pMode);
ÀÌ Ãß°¡ Æ÷¸Ë ÆÄ¶ó¹ÌÅÍ´Â µð½ºÇ÷¹ÀÌ ¸ðµåÀÇ È®Àå ¼¼Æ®¸¦ Áö¿ø ÇÑ´Ù. ¾ÖÇø®ÄÉÀ̼ÇÀÇ ÃâÇϽÿ¡ °í¾ÈµÇÁö ¾Ê¾Ò´ø ¿°Å Æ÷¸ËÀÌ »ç¿ëµÉ¸®°¡ ¾ø°Ô, µð½ºÇ÷¹ÀÌ ¸ðµåÀÇ ¿°Å¿¡ »ç¿ëÇÏ´Â Æ÷¸ËÀ» ¾ÖÇø®ÄÉÀ̼ÇÀÌ Microsoft Direct3D® ¿¡ Áö½ÃÇÒ Çʿ䰡 ÀÖ´Ù. °á°úÀûÀ¸·Î ¾òÀ» ¼ö ÀÖ´Â µð½ºÇ÷¹ÀÌ ¸ðµåÀÇ ¹è¿Àº, Æø, ³ôÀÌ, refresh rate¸¸ÀÌ ´Ù¸£´Ù.
¾ÖÇø®ÄÉÀ̼ÇÀÌ Çȼ¿ Æ÷¸ËÀ» ÁöÁ¤ÇØ, ¿°Å´Â ±× Æ÷¸Ë¿¡ Á¤È®ÇÏ°Ô ÀÏÄ¡ÇÏ´Â µð½ºÇ÷¹ÀÌ ¸ðµåÀÎ ¸¸Å ÇÑÁ¤µÈ´Ù. »ç¿ëÇÒ ¼ö ÀÖ´Â Æ÷¸ËÀº, D3DFMT_X8R8G8B8, D3DFMT_A8R8G8B8, D3DFMT_A2B10G10R10, D3DFMT_X1R5G5B5, D3DFMT_A1R5G5B5, D3DFMT_R5G6B5 ÀÌ´Ù.
°°Àº Æ÷¸ËÀ̸é, ¾ËÆÄ ¹öÀü¿¡¼µµ ºñ¾ËÆÄ ¹öÀü¿¡¼µµ ¿°Å´Â °°´Ù. µ¹·Á¹Þ´Â D3DDISPLAYMODE ÀÇ FORMAT ¸â¹ö¿¡´Â, ¾ÖÇø®ÄÉÀ̼ÇÀ¸·Î ÁöÁ¤ÇÑ °°Àº Æ÷¸ËÀÌ Ç×»ó ÀúÀå µÈ´Ù.
ÀÌ ¸Þ¼µå´Â, 565 ·Î 555 ¸¦ µ¿µîÀÇ °ÍÀ¸·Î ÇØ Ãë±ÞÇØ, ¿Ã¹Ù¸¥ ¹öÀüÀ» Format ¿¡ µ¹·ÁÁØ´Ù. À̰͵鿡 Â÷À̰¡ »ý±â´Â °ÍÀº ¾ÖÇø®ÄÉÀ̼ÇÀÌ ¹é ¹öÆÛ¸¦ Àá±×¾úÀ» °æ¿ì¿¡ ÇÑÁ¤µÇ¾î ±× ¶§¹®¿¡(À§ÇØ)´Â ¾ÖÇø®ÄÉÀ̼ÇÀ¸·Î ¸í½ÃÀûÀÎ Ç÷¡±×¸¦ ¼³Á¤ÇÒ Çʿ䰡 ÀÖ´Ù.
IDirect3DDevice9::GetStreamSource ¸Þ¼µå¿Í IDirect3DDevice9::SetStreamSource ¸Þ¼µåÀÇ ÆÄ¶ó¹ÌÅͰ¡ 1 °³ Ãß°¡µÇ¾ú´Ù. ¿ÀÇÁ¼Â(offset) ÆÄ¶ó¹ÌÅÍ´Â, ½ºÆ®¸² ¼±µÎ¿Í Á¤Á¡ µ¥ÀÌÅÍ ¼±µÎÀÇ »çÀÌÀÇ ¹ÙÀÌÆ®¼öÀÌ´Ù. ¿ÀÇÁ¼Â(offset)´Â ¹ÙÀÌÆ® ´ÜÀ§·Î ³ªÅ¸³´Ù. À̰Ϳ¡ ÀÇÇØ, ÆÄÀÌÇÁ¶óÀÎÀ¸·Î ½ºÆ®¸² ¿ÀÇÁ¼Â(offset)¸¦ Áö¿ø ÇÒ ¼ö ÀÖ´Ù. ÀåÄ¡°¡ ½ºÆ®¸² ¿ÀÇÁ¼Â(offset)¸¦ Áö¿ø Çϰí ÀÖÀ»Áö ¾î¶³Áö¸¦ Á¶»çÇÏ·Á¸é ,D3DDEVCAPS2 ÀÇ ¡¸D3DDEVCAPS2_STREAMOFFSET Á¤¼ö¡¹¸¦ ÂüÁ¶ÇÒ°Í.
HRESULT GetStreamSource(
UINT StreamNumber,
IDirect3DVertexBuffer9 **ppStreamData,
UINT *pOffsetInBytes,
UINT *pStride
);
¸î°³ÀÇ ¸Þ¼µå¿¡ ÀÌÁ¦ 1 °³ÀÇ ÆÄ¶ó¹ÌÅͷμ ÇÚµéÀÌ Ãß°¡µÇ¾ú´Ù. ÀÌ ÆÄ¶ó¹ÌÅÍ´Â ÇöÀç´Â »ç¿ëµÇÁö ¾Ê±â ¶§¹®¿¡, NULL ·Î ¼³Á¤ÇÒ Çʿ䰡 ÀÖ´Ù. ¿µÇâÀ» ¹Þ´Â ¸Þ¼µå´Â, ´ÙÀ½°ú °°´Ù.
CreateTexture CreateVolumeTexture CreateCubeTexture CreateVertexBuffer CreateIndexBuffer CreateRenderTarget CreateDepthStencilSurface CreateOffscreenPlainSurface
ÀÌÀü¿¡´Â,D3DMULTISAMPLE_TYPE ¿°Å°¡ Á¸ÀçÇÏ´Â °Í¸¸À¸·Î ÀÖ¾ú´Ù. DirectX 9.0 ¿¡¼´Â, ÀÌ ¿°Å¸¦ º¸°ü À¯ÁöÇØ, ¿°ÅÀÇ °¢ ¿ä¼ÒÀÇ Ç°Áú ·¹º§À̶ó°í ÇÏ´Â »ý°¢À» µµÀÔÇß´Ù. ǰÁú ·¹º§Àº, ¸¶½ºÅ· °¡´ÉÇÑ »ùÇüö¸¦ (D3DRS_MULTISAMPLEMASK ·Î) ³ªÅ¸³»´Â °Í¿¡ ÀÇÇØ, Ç¥½Ã ǰÁú°ú ÆÛÆ÷¸Õ½º¿ÍÀÇ Æ®·¹ÀÌµå ¿ÀÇÁ¸¦ ³ªÅ¸³½´Ù.
¾ÖÇø®ÄÉÀ̼ÇÀº ÇÊ¿ä·Î ÇÏ´Â ¸¶½ºÅ· °¡´ÉÇÑ »ùÇüö¸¦ ¼±ÅÃÇØ,IDirect3D9::CheckDeviceMultiSampleType °¡ µ¹·ÁÁÖ´Â pQualityLevels °ªÀ» Á¶»çÇÒ Çʿ䰡 ÀÖ´Ù. ÀÌ °ªÀº, Á¦·Î ÀÌ¿ÜÀÇ °æ¿ì, ¾ÖÇø®ÄÉÀ̼ÇÀÌ »õ·Î¿î MultiSampleQuality Àμö¸¦ °³ÀÔ½ÃÄÑ ´Ù¾çÇÑ »ý¼º ÇÔ¼ö (CreateRenderTarget µî)¿¡ °Ç³×ÁÙ ¼ö°¡ Àִ ǰÁú ·¹º§ÀÇ ¼ö¸¦ ³ªÅ¸³½´Ù.
µå¶óÀ̹ö´Â, D3DMULTISAMPLE_ONE ·Î ±× ¸ðµç ¸ÖƼ »ùÇøµ ½ºÅ´À» ǰÁú ·¹º§·Î¼ °ø°³ÇϹǷÎ, ¾ÖÇø®ÄÉÀ̼ÇÀ¸·Î »ùÇÃÀ» ¸¶½ºÅ·ÇÒ Çʿ䰡 ¾ø´Â °æ¿ì´Â, ÀÌ 1 °³ÀÇ ÇüŸ¸À¸·Î ÀÌ¿ë °¡´ÉÇÑ ¸ðµç ¸ÖƼ »ùÇøµ ½ºÅ´À» ¿°ÅÇÒ ¼ö ÀÖ´Ù. D3DPRASTERCAPS_STRETCHBLTMULTISAMPLE Caps ºñÆ®´Â »ç¿ëµÇÁö ¾Ê°Ô µÇ¾ú´Ù. ÀÌ ºñÆ®´Â, ¸ÖƼ »ùÇøµ ¸Þ¼µå°¡ ¾²±â ¸¶½ºÅ©¸¦ Áö¿ø Çϰí ÀÖÁö ¾Ê´Â °ÍÀ» ³ªÅ¸³»±â À§Çؼ(¶§¹®¿¡) »ç¿ëµÇ°í ÀÖ¾úÁö¸¸, BeginScene ¿Í EndScene ÀÇ »çÀÌ¿¡ ¿Â°ú ¿ÀÇÁ¸¦ ¹Ù²Ü ¼ö°¡ ¾ø¾ú´Ù. ÀÌ·¯ÇÑ ¸¶½ºÅ· °¡´ÉÇÏÁö ¾Ê´Â ¸Þ¼µå´Â, D3DMULTISAMPLE_ONE ¸¦ °³ÀÔ½ÃÄÑ °ø°³µÇ°Ô µÇ¾ú´Ù.
»õ·Î¿î Caps ºñÆ®ÀÎ D3DPRASTERCAPS_MULTISAMPLE_TOGGLABLE ´Â, ÀåÄ¡°¡ BeginScene ¿Í EndScene ÀÇ »çÀÌ·Î, D3DRS_MULTISAMPLEANTIALIAS ·»´õ¸µ ½ºÅ×ÀÌÆ®¸¦ »ç¿ëÇØ, ¸ÖƼ »ùÇøµÀÇ ¿Â°ú ¿ÀÇÁ°¡ ¹Ù²Ü ¼ö°¡ ÀÖ´Â °ÍÀ» ³ªÅ¸³½´Ù. ÀÌ Ç÷¡±×¸¦ ¼³Á¤ÇÏÁö ¾Ê´Â ÀåÄ¡´Â, BeginScene/EndScene ÀÇ ³»ºÎ¿¡¼ ¸ÖƼ »ùÇøµÀ» À¯È¿ ¶Ç´Â ¹«È¿·Î ÇÒ ¼ö ¾ø´Ù.
HRESULT CheckDeviceMultiSampleType(
UINT Adapter,
D3DDEVTYPE DeviceType,
D3DFORMAT SurfaceFormat,
BOOL Windowed,
D3DMULTISAMPLE_TYPE MultiSampleType,
DWORD * pQualityLevels);
ÃÖ´ëÄ¡´Â, ¸¶½ºÅ· °¡´ÉÇÑ »ùÇüö ¸¶´Ù ´Ù¸£´Ù (¿¹¸¦ µé¾î, D3DMULTISAMPLE_4_SAMPLES ´Â 3 °³ÀÇ Ç°Áú ·¹º§À» °¡Áú ¼ö°¡ ÀÖÁö¸¸, _2_SAMPLES °¡ °¡Áú ¼ö°¡ ÀÖ´Â °ÍÀº 1 °³ »ÓÀÌ´Ù). ¸¶½ºÅ· °¡´ÉÇÑ »ùÇüö ¸¶´Ù ǰÁú ·¹º§¼ö´Â 8 °³°¡ »óÇÑÀÌ´Ù (µå¶óÀ̹ö´Â À̰ÍÀ» ³Ñ¾î Ç¥ÇöÇÒ ¼ö ¾ø´Ù). ǰÁúÀÇ ¹üÀ§´Â 0 ~ (*pQualityLevels-1)ÀÌ´Ù.
IDirect3DDevice9::CreateRenderTarget ¹× IDirect3DDevice9::CreateDepthStencilSurface µµ ¶ÇÇÑ Ç°Áú ·¹º§À» µ¹·ÁÁÖµµ·Ï(µíÀÌ) È®ÀåµÇ¾ú´Ù. Æä¾î·Î ÇÏ´Â ¸Þ¼µå´Â, ǰÁú ·¹º§°ú DirectX 8. x ÀÇ ¸ÖƼ »ùÇøµ ŸÀÔÀÌ ÀÏÄ¡Çϰí ÀÖÁö ¾ÊÀ¸¸é ¾È µÈ´Ù.
ResourceManagerDiscardBytes °¡ IDirect3DDevice9::EvictManagedResources ·Î ¿Å°ÜÁ³´Ù. À̰ÍÀ» »ç¿ëÇÏ¸é ¸ðµç ¸®¼Ò½º, Áï Direct3D ¸®¼Ò½º¿Í µå¶óÀ̹ö ¸®¼Ò½ºÀÇ ¾çÂÊ ¸ðµÎ¸¦ ¼Ò°ÅÇÒ ¼ö ÀÖ´Ù.
ºñµð¿À ¸Þ¸ð¸®ÀÇ ºÎÁ·À» À§Çؼ(¶§¹®¿¡) ¸®¼Ò½º (°ü¸®ÇÏ¿¡ ÀÖÀ»Áö ¾î¶³Áö´Â ¹¯Áö ¾Ê´Â´Ù)ÀÇ »ý¼º¿¡ ½ÇÆÐÇßÀ» °æ¿ì, ¸®¼Ò½º ¸Å´ÏÀú¿¡ ´ëÇØ¼ ¹®ÀǸ¦ ÇÏ°Ô µÇ¾ú´Ù. »ý¼ºÀÌ ¼º°øÇϱâ À§Çؼ(¶§¹®¿¡) ÇÊ¿äÇÑ ¸®¼Ò½º¸¦ ¸±¸®Áî Çϵµ·Ï(µíÀÌ), ¸Å´ÏÀú¿¡ ´ëÇÑ ¿ä±¸°¡ ÀÚµ¿ÀûÀ¸·Î ÇàÇØÁø´Ù. DirectX 8.0 ¿¡¼´Â, ÀÌ Ã³¸®´Â ÀÚµ¿ÀûÀ¸·Î ÇÏÇà ±úÁöÁö ¾Ê¾Ò´Ù.
¾ÖÇø®ÄÉÀ̼ÇÀº, ¹Í½º ¸ðµåÀÇ ÀåÄ¡¸¦ »ý¼º ÇØ, ¼ÒÇÁÆ®¿þ¾î ¹× Çϵå¿þ¾îÀÇ Á¤Á¡ 󸮸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
DirectX 8. x ·Î 2 °³ÀÇ Á¤Á¡ ó¸® ¸ðµå¸¦ ¹Ù²Ù·Á¸é , D3DRS_SOFTWAREVP À» »ç¿ëÇØ IDirect3DDevice8::SetRenderState ¸¦ È£ÃâÇÑ´Ù. ½ºÅ×ÀÌÆ® ºí·Ï¿¡ ÀÇÇØ ¹ß»ýÇÏ´Â ¹®Á¦¸¦ ÇØ¼ÒÇϱâ À§Çؼ, ÀÌ ¸Þ¼µå´Â IDirect3DDevice9::SetSoftwareVertexProcessing ·Î ¿Å°Ü³õÀ» ¼ö ÀÖ¾ú´Ù. ÀÌ »õ·Î¿î ¸Þ¼µå´Â ½ºÅ×ÀÌÆ® ºí·Ï¿¡ ÀÇÇØ ±â·ÏµÇÁö ¾Ê´Â´Ù.
DirectX 9.0 ¿¡¼´Â, Çȼ¿ ¼ÎÀÌ´õ 2.0 ¸ðµ¨À» »ç¿ëÇØ, 1 »ìÀÇ ÆÐ½º·Î ÃÖ´ë 16 °³ÀÇ ÅØ½ºÃ³ Ç¥¸éÀ» Áö¿ø ÇÒ ¼ö ÀÖÁö¸¸, ÅØ½ºÃ³ ÁÂÇ¥´Â 8 °³±îÁö Á¦ÇѵȴÙ. ÅØ½ºÃ³ ½ºÅ×ÀÌÁö ½ºÅ×ÀÌÆ®¿¡´Â, Ç¥¸é¿¡ °ü·ÃÇÏ´Â °Í, ÁÂÇ¥ ¼¼Æ®¿¡ °ü·ÃÇÏ´Â °Í, Á¤Á¡ 󸮿¡ °ü·ÃÇÏ´Â °Í, ¹× Çȼ¿ 󸮿¡ °ü·ÃÇÏ´Â °ÍÀÌ ÀÖ´Ù. ÄÄÆÄÀϽÿ¡ ÀÌ·¯ÇÑ Â÷À̸¦ °ü¸®Çϱâ À§Çؼ, ÅØ½ºÃ³ ½ºÅ×ÀÌÁö ½ºÅ×ÀÌÆ® ¾ÖÇø®ÄÉÀÌ¼Ç ÇÁ·Î±×·¡¹Ö ÀÎÅÍÆäÀ̽º (API)¸¦ 2 °³·Î ºÐÇÒÇß´Ù. ·¦ ¸ðµåµîÀÇ ÅØ½ºÃ³ ÁÂÇ¥ ½ºÅ×ÀÌÆ®³ª ÅØ½ºÃ³ ÁÂÇ¥ »ý¼º¿¡´Â, Á¾·¡ÀÇ IDirect3DDevice9::SetTextureStageState ¸¦ »ç¿ëÇÑ´Ù. °Ô´Ù°¡IDirect3DDevice9::SetSamplerState ´Â, ÇÊÅ͸µ, ŸÀϸµ, Äí¶õÇÎ, MIPLOD µî¿¡ »ç¿ëµÈ´Ù. À̰ÍÀº ÃÖ´ë 16 °³±îÁöÀÇ »ùÇ÷¯¿¡ ´ëÇØ¼ À¯È¿ÇÏ´Ù.
ÇöÀç, SetTextureStageState ´Â ´ÙÀ½ÀÇ ½ºÅ×ÀÌÆ®¸¦ ¼³Á¤ÇÑ´Ù.
D3DTSS_TEXCOORDINDEX. À̰ÍÀº °íÁ¤ ±â´É Á¤Á¡ ó¸® ½ºÅ×ÀÌÆ®ÀÌ´Ù. ÇÁ·Î±×·¡¹Ö °¡´ÉÇÑ Á¤Á¡ ¼ÎÀÌ´õ°¡ »ç¿ëµÇ°í ÀÖ´Â °æ¿ì, ÀÌ ½ºÅ×ÀÌÆ®´Â ¹«½ÃµÈ´Ù.
¾ÖÇø®ÄÉÀ̼ÇÀ¸·Î »ç¿ë °¡´ÉÇÑ ÅØ½ºÃ³ »ùÇ÷¯ÀÇ ¼ö´Â Çȼ¿ ¼ÎÀÌ´õÀÇ ¹öÀü¿¡ ÀÇÇØ Á¤ÇØÁø´Ù.
SetSamplerState ´Â »ùÇ÷¯ÀÇ ½ºÅ×ÀÌÆ®¸¦ ¼³Á¤ÇÑ´Ù (Å×¼³·¹ÀÌ¼Ç ´ÜÀ§³»¿¡¼ÀÇ µð½ºÇ÷¹À̽º¸ÕÆ® ¸ÊÀÇ »ùÇøµ¿¡ »ç¿ëµÇ´Â °Íµµ Æ÷ÇÔÇÑ´Ù). DirectX 8. x ·ÎºÎÅÍ À̽ÄÇÒ °æ¿ì¿¡ ÄÄÆÄÀϽà ¿¡·¯¸¦ °ËÃâÇÒ ¼ö ÀÖµµ·Ï(µíÀÌ), D3DSAMP_ Á¢µÎ¾î°¡ ºÙ´Â À̸§À¸·Î º¯°æµÇ°í ÀÖ´Ù. ÀÌ·¯ÇÑ ½ºÅ×ÀÌÆ®¿¡´Â, D3DSAMP_ADDRESSU, D3DSAMP_ADDRESSV, D3DSAMP_ADDRESSW, D3DSAMP_BORDERCOLOR, D3DSAMP_MAGFILTER, D3DSAMP_MINFILTER, D3DSAMP_MIPFILTER, D3DSAMP_MIPMAPLODBIAS, D3DSAMP_MAXMIPLEVEL, D3DSAMP_MAXANISOTROPY µîÀÌ ÀÖ´Ù.
Á¤Á¡ ¼±¾ðÀÌ Á¤Á¡ ¼ÎÀÌ´õ »ý¼ºÀ¸·ÎºÎÅÍ ¶¼¾î³»Á³´Ù. Á¤Á¡ ¼±¾ð¿¡´Â ±¸¼º ¿ä¼Ò °³Ã¼ ¸ðµ¨ (COM) ÀÎÅÍÆäÀ̽º°¡ »ç¿ëµÇ°Ô µÇ¾ú´Ù.
DirectX 8. x ¿¡¼´Â, Á¤Á¡ ¼±¾ðÀº Á¤Á¡ ¼ÎÀÌ´õ¿Í °áÇյǰí ÀÖ¾ú´Ù.
DirectX 9.0 ¿¡¼´Â, Á¤Á¡ ¼±¾ðÀÌ Á¤Á¡ ¼ÎÀÌ´õ·ÎºÎÅÍ ¶¼¾î³»Á®, °íÁ¤ ±â´É ÆÄÀÌÇÁ¶óÀΰú ¼ÎÀÌ´õÀÇ ¾î¶°ÇÑ °Íµµ »ç¿ëÇÒ ¼ö ÀÖ°Ô µÇ¾ú´Ù.
¸ð´ÏÅÍÀÇ refresh rate, ÇÁ·¹Á¨Å×ÀÌ¼Ç ¼Óµµ, ÇÁ·ÐÆ® ¹öÆÛ´ë ¹é ¹öÆÛÀÇ µå·ÎÀ×(Drawing)¸¦ »ç¿ëÀÚ°¡ º¸´Ù È¿°úÀûÀ¸·Î Á¦¾îÇÒ ¼ö ÀÖµµ·Ï(µíÀÌ), ¸î°³ÀÇ º¯°æÀÌ ´õÇØÁ³´Ù.
À©µµ¿ì ¸ðµå
Ç® ½ºÅ©¸° ¸ðµå
ŸÀÌ¸Ó Á¤¹Ðµµ - D3DPRESENT_PARAMETERS ÀÇ D3DPRESENT_INTERVAL_DEFAULT ¸â¹ö´Â µðÆúÆ®ÀÇ ½Ã½ºÅÛ Å¸ÀÌ¸Ó Á¤¹Ðµµ¸¦ »ç¿ëÇÑ´Ù. µû¶ó¼,D3DPRESENT_PARAMETERS ÀÇ D3DPRESENT_INTERVAL_ONE ¸â¹ö´Â ½Ã½ºÅÛ Å¸ÀÌ¸Ó Á¤¹Ðµµ¸¦ Çâ»óÇϱâ À§Çؼ timeBeginPeriod(1)¸¦ È£ÃâÇÑ´Ù. À̰Ϳ¡ ÀÇÇØ ¼öÁ÷ µ¿±âÀÇ ÁúÀº Çâ»óÇÏÁö¸¸, 󸮿¡ ÇÊ¿ä·Î ÇÏ´Â ½Ã°£ÀÌ Á¶±Ý ±æ¾îÁø´Ù. ¾î´À ÂÊÀÇ ÆÄ¶ó¹ÌÅÍ¿¡¼µµ, ¼öÁ÷ ¹æÇâÀÇ µ¿±â°¡ ½ÃµµµÈ´Ù.