DirectX Graphics ÇÁ·Î±×·¡¹Ö °¡ÀÌµå °íÁ¤ ±â´É ÆÄÀÌÇÁ¶óÀÎ ÅØ½ºÃ³ ¹Ó¸ÊÀÇ ÀÚµ¿ »ý¼º [¸ñÂ÷¿¶÷] [ÁÖ¼Òº¹»ç] [½½·Ôºñ¿ì±â]
|
| Microsoft DirectX 9.0 |
¹Ó¸ÊÀ» ÀÚµ¿ »ý¼º Çϸé, ÅØ½ºÃ³ÀÇ »ý¼ºÁß¿¡ Çϵå¿þ¾î ÇÊÅ͸µÀ» ÀÌ¿ëÇÑ ¿ÏÀüÇÑ Åõ¸íµµµîÀÇ ±â´ÉÀ» »ç¿ëÇÏ´Â °ÍÀÌ °¡´ÉÇÏ°Ô µÈ´Ù. ƯÈ÷ ¹Ó¸Ê ·»´õ¸µ Ÿ°ÙÀ¸·Î´Â ÀÚµ¿ »ý¼ºÀº À¯È¿ÇÏ´Ù. ¹Ó¸Ê ·»´õ¸µ Ÿ°ÙÀº ºñµð¿À ¸Þ¸ð¸®³»¿¡ Á¸ÀçÇϹǷÎ, ¼ÒÇÁÆ®¿þ¾î ÇÊÅ͸µ¿¡¼´Â È¿À²ÀûÀ¸·Î Àû¿ëÇÒ ¼ö ¾ø´Ù.
¹Ó¸ÊÀ» ÀÚµ¿ÀûÀ¸·Î »ý¼ºÇÏ·Á¸é , »ý¼º½Ã¿¡ »õ·Î¿î »ç¿ë ¹æ¹ý D3DUSAGE_AUTOGENMIPMAP ¸¦ ¼³Á¤ÇÑ´Ù. ±× ÀÌÈÄÀÇ ¼ºê ·¹º§ÀÇ »ý¼ºÀº, ¾ÖÇø®ÄÉÀ̼ǿ¡ ÀÖ¾î ¿ÏÀüÇÏ°Ô Åõ°úÀûÀ¸·Î µÈ´Ù. Çϵå¿þ¾î¿¡ µû¶ó¼´Â, ¼ºê ·¹º§ÀÇ »ý¼º¿¡ ½Ã°£ÀÌ °É¸®´Â °æ¿ì°¡ ÀÖ´Ù. ÀÌ ¶§¹®¿¡,IDirect3DBaseTexture9::GenerateMipSubLevels ¸¦ »ç¿ëÇØ, ¾ÖÇø®ÄÉÀ̼ǿ¡ ÀÖ¾î ÀûÀýÇÑ ½Ã±â¿¡ ¼ºê ·¹º§À» »ý¼ºÇϱâ À§ÇÑ ÈùÆ®¸¦ µå¶óÀ̹ö¿¡°Ô ÀüÇÒ ¼ö°¡ ÀÖ´Ù.
IDirect3DBaseTexture9::SetAutoGenFilterType ´Â, ÀÚµ¿ »ý¼º½ÃÀÇ ÇÊÅ͸µÀÇ Ç°ÁúÀ» Á¦¾îÇÑ´Ù. ÇÊÅÍ Å¸ÀÔÀ» º¯°æ Çϸé, ¹Ó¸Ê ¼ºê ·¹º§ÀÌ "´õƼ" °¡ µÇ¾î Àç»ý¼ºµÈ´Ù.
ÇöÀçÀÇ ÇÊÅÍ Å¸ÀÔÀ» ¾ò¾î¿À·Á¸é,IDirect3DBaseTexture9::GetAutoGenFilterType ¸¦ »ç¿ëÇÑ´Ù. ÅØ½ºÃ³ÀÇ »ý¼º½Ã·Î ¼³Á¤µÇ´Â (µðÆúÆ®ÀÇ) ÇÊÅÍ Å¸ÀÔÀº D3DTEXF_LINEAR ÀÌ´Ù. µå¶óÀ̹ö°¡ ¼±Çü ÇÊÅ͸¦ Áö¿ø Çϰí ÀÖÁö ¾Ê´Â °æ¿ì, ÇÊÅÍ Å¸ÀÔÀº D3DTEXF_POINT ·Î ¼³Á¤µÈ´Ù.
D3DUSAGE_AUTOGENMIPMAP ¸¦ »ç¿ëÇÏÁö ¾Ê°í »ý¼º ÇÑ ÅØ½ºÃ³¿¡¼´Â, ÀÌ·¯ÇÑ ¸Þ¼µå´Â ¹«È¿À̸ç, ¿¡·¯µµ µ¹·ÁÁÖ¾îÁöÁö ¾Ê´Ù. D3DTEXF_NONE ¸¦ Á¦¿ÜÇÏ´Â ÀÚµ¿ »ý¼ºµÈ ÅØ½ºÃ³¿¡ ´ëÇØ¼´Â, µå¶óÀ̹ö°¡ º¸ÅëÀÇ ÅØ½ºÃ³ ÇÊÅ͸µÀ¸·Î Áö¿ø Çϰí ÀÖ´Â ÇÊÅÍ Å¸ÀÔÀº ¸ðµÎ Áö¿ø Çϰí ÀÖ´Ù. µå¶óÀ̹ö´Â, °¢ ¸®¼Ò½º ŸÀÔ¿¡ ´ëÀÀÇÏ´Â ÅØ½ºÃ³, Å¥ºê ÅØ½ºÃ³, º¼·ý ÅØ½ºÃ³ÀÇ ÇÊÅÍ ´É·ÂÀ¸·Î º¸°íµÇ°í ÀÖ´Â ÇÊÅÍ Å¸ÀÔÀ» ¸ðµÎ Áö¿ø ÇØ¾ß ÇÑ´Ù.
Àü¼Û¿øÀÌ ÀÚµ¿ »ý¼ºµÈ ¹Ó¸ÊÀ̸ç, ¸ñÀûÁö°¡ ±×·¸Áö ¾ÊÀº °æ¿ì,IDirect3DDevice9::UpdateTexture ´Â ¹«È¿ÀÌ´Ù. Àü¼Û¿øÀÌ ÀÚµ¿ »ý¼ºµÈ ¹Ó¸ÊÀÌ ¾Æ´Ï°í, ¸ñÀûÁö°¡ ÀÚµ¿ »ý¼ºµÈ ¹Ó¸ÊÀÎ °æ¿ì´Â À¯È¿ÇÏ´Ù. ÀÌ °æ¿ì, ÀÏÄ¡ÇÏ´Â ÃÖ»óÁ¤µµÀÇ ·¹º§¸¸ÀÌ °»½ÅµÈ´Ù. Àü¼Û¿øÀÇ ±× ¿ÜÀÇ ¼ºê ·¹º§Àº ¸ðµÎ ¹«½ÃµÈ´Ù. °°ÀÌ Àü¼Û¿ø ¹× ¸ñÀûÁö°¡ ÇÔ²² ÀÚµ¿ »ý¼ºµÈ °ÍÀÎ °æ¿ìµµ, ÃÖ»óÁ¤µµÀÇ ÀÏÄ¡ÇÏ´Â ·¹º§¸¸ÀÌ °»½ÅµÈ´Ù. Àü¼Û¿øÀÇ ¼ºê ·¹º§Àº ¹«½ÃµÇ¾î, ¸ñÀûÁöÀÇ ¼ºê ·¹º§Àº Àç»ý¼ºµÈ´Ù.
ÀÚµ¿ »ý¼º ¹Ó¸ÊÀ» »ý¼º ÇÏ´Â °æ¿ì,Levels ÆÄ¶ó¹ÌÅÍ´Â 0 ¶Ç´Â 1 À¸·Î ¼³Á¤ÇØ¾ß ÇÑ´Ù.
¹Ó¸ÊÀÇ ÀÚµ¿ »ý¼ºÀÌ Áö¿ø µÇ°í ÀÖ´ÂÁö Á¶»çÇÏ·Á¸é , D3DCAPS2_CANAUTOGENMIPMAP °¡ ¼³Á¤µÇ¾î ÀÖ´ÂÁö È®ÀÎÇÑ´Ù. ¼³Á¤µÇ¾î ÀÖ´Â °æ¿ì´Â, D3DUSAGE_AUTOGENMIPMAP À» ÁöÁ¤ÇØ IDirect3D9::CheckDeviceFormat ¸¦ È£ÃâÇÑ´Ù. ¹Ýȯ°ªÀÌ D3D_OK ÀÎ °æ¿ì, ¹Ó¸ÊÀÇ ÀÚµ¿ »ý¼ºÀÌ º¸ÁõµÇ°í ÀÖ´Ù. ¹Ýȯ°ªÀÌ D3DOK_NOAUTOGEN ÀÎ °æ¿ì´Â, »ý¼ºÀÇ È£ÃâÀº ¼º°øÇÏÁö¸¸, ¹Ó¸ÊÀº »ý¼ºµÇÁö ¾Ê´Â´Ù.
Áö¿ø µÇ´Â ÇÊÅÍ Å¸ÀÔÀ» È®ÀÎÇÏ·Á¸é ,D3DCAPS9 ÀÇ TextureFilterCaps ¶Ç´Â CubeTextureFilterCaps, ȤÀº ±× ¾çÂÊ ¸ðµÎÀÇ ¸â¹ö°¡ Áö¿ø ÇÏ´Â ´É·ÂÀ» Á¶»çÇÑ´Ù.
¸¶Áö¸·À¸·Î, D3DUSAGE_AUTOGENMIPMAP Àº ´Ü¼øÇÑ ÈùÆ®À̸ç, ÅØ½ºÃ³ÀÇ »ý¼º ¶Ç´Â IDirect3D9::CheckDeviceFormat ·Î À̰ÍÀ» ÁöÁ¤Çصµ ÀåÄ¡ µå¶óÀ̹ö ÀÎÅÍÆäÀ̽º (DDI) ŸÀÔ¿¡ °üÇÑ ¿¡·¯´Â ¹ß»ýÇÏÁö ¾Ê±â ¶§¹®¿¡, ÁÖÀÇ ÇØ¾ß ÇÑ´Ù.