[°ÁÂ] Anisotropic
Texture FilteringÀÇ ÀÌ¿ë
ÇöÀç °ÔÀÓ¿¡¼´Â ´ëºÎºÐ Isotropic ÅؽºÃ³ ÇÊÅ͸µ ¹æ¹ýÀ» ¾²°í ÀÖ´Ù. ÀÌ
¹æ¹ýÀÇ ÇÙ½ÉÀº ½±°Ô °£´ÜÇÏ¸ç ºü¸£´Ù´Â °ÍÀÌ´Ù. ÇÏÁö¸¸ µî¹æ¼º ÇÊÅ͸µÀÇ °æ¿ì ÅؽºÃ³ÀÇ À̹ÌÁö°¡ ½ÉÇÏ°Ô ¿Ö°îµÇ¸ç Èå·ÁÁø´Ù´Â ¹®Á¦°¡
ÀÖ´Ù. ÀÌ¹Ì °³¹ßÀڵ鵵 ÀÌ »ç½ÇÀ» Àß ¾Ë°í ÀÖ±ä ÇÏÁö¸¸, Çϵå¿þ¾îÀÇ ¼º´É»óÀÇ ¹®Á¦·Î ȤÀº ÇÁ·Î±×·¡¹ÖÀÇ ¹æ¹ý»óÀÇ ¾î·Á¿òÀ¸·Î ATF°¡
ÀÚÁÖ °Å·ÐµÇÁö´Â ¾Ê¾Ò´Ù. ¿À´ÃÀº OpenGLÀ» ÀÌ¿ëÇÑ ATFÀÇ °£´ÜÇÑ ±¸Çö ¹æ¹ýÀ» ¾Ë¾Æº¸°í ÀÌ°ÍÀ» ¾î¶»°Ô ÇÁ·Î±×·¡¹Ö¿¡¼ ÀÌ¿ëÇÒ
¼ö ÀÖ´Â °¡¸¦ ¿¬±¸ÇØ º¸´Â ½Ã°£ÀÌ´Ù.
GL_EXT_texture_filter_anisotropic¸¦ ÀÌ¿ëÇÑ OpenGLÀÇ
ÅؽºÃ³¸µ ¹æ¹ýÀº Anisotropic Texture Filtering¿¡ ´ëÇÑ ½±°í, ¹ü¿ëÀûÀÎ ¹æ¹ýÀ» Á¦°øÇØ ÁØ´Ù. ±×·³ ±× ½±°í
°£´ÜÇÑ ¹æ¹ýÀ» ÅëÇؼ ¾òÀ» ¼ö ÀÖ´Â ÀåÁ¡ÀÌ ¹«¾ùÀÎÁö ¾Ë¾Æº¸ÀÚ. ¾Æ·¡ÀÇ ±×¸²Àº anisotropic filteringÀÇ ¹æ¹ýÀ»
½èÀ»¶§ ¾òÀ» ¼ö ÀÖ´Â ÀåÁ¡À» Àß ¼³¸íÇÏ°í ÀÖ´Ù.
[±×¸² 1] Isotropic ¿Í anisotropic texture filtering ÀÇ ºñ±³
Anisotropic Texture
Filtering ±â¼úÀÇ ¹è°æ
ÅؽºÃ³ÀÇ ÇÊÅ͸µÀº Çȼ¿ÀÇ ÀÛÀº ´ÜÀ§·Î ±¸¼ºµÇ´Â ÅؽºÃ³ À̹ÌÁö¸¦ ƯÁ¤ÇÑ ¿ÀºêÁ§Æ®¿¡
»ùÇøµÇؼ °¡Á®´Ù ¹Ù¸£´Â ÀÛ¾÷ÀÌ´Ù. ¾ð¶æ º¸¸é °£´ÜÇØ º¸ÀÌ´Â ÀÌ ÀÛ¾÷Àº, »ý°¢ º¸´Ù ±×·¸°Ô ½¬¿î ÀÛ¾÷ÀÌ ¾Æ´Ï´Ù. ÅؽºÃ³ À̹ÌÁö¸¦
´Ü¼øÈ÷ ¹Ù¸£´Â ÀÛ¾÷À̱ä ÇÏÁö¸¸, ÀÌ°ÍÀº ÅؽºÃ³ÀÇ ÇØ»óµµ¿Í À̹ÌÁö¸¦ ºÙÀÌ°íÀÚ ÇÏ´Â ÀÏÁ¤ÇÑ ´ë»óÀÇ Å©±â, ¶ÇÇÑ »ùÇøµ ÇÒ Á¤µµ¿¡
µû¶ó¼ ´Ù¾çÇÑ ±â¼úµéÀ» ³»Æ÷ÇÏ°í ÀÖ´Ù. ÀÌ°ÍÀº °ø°£ ÁÂÇ¥¿Í ÅؽºÃ³°¡ Àû¿ëµÉ Æò¸éÀÇ ÁÂÇ¥°¡ ¼·Î µ¶¸³ÀûÀΠƯ¼ºÀ» Áö´Ï°í Àֱ⠶§¹®ÀÌ´Ù.
Áï, ½±°Ô ¸»ÇÑ´Ù¸é ÅؽºÃ³´Â ´Ü¼øÈ÷ Æò¸é À̹ÌÁöÀÏ »ÓÀ̸ç, ÅؽºÃ³°¡ Àû¿ëµÇ´Â ¿ÀºêÁ§Æ®ÀÇ Æò¸é »óÅ´ ±ÛÀÚ±×´ë·Î "ÀÚ±â
¸¶À½´ë·Î"ÀÇ ÁÂÇ¥ ½Ã½ºÅÛÀ» °¡Áö°í ÀÖ´Ù. Áï, »ç»óÇÏ°íÀÚ ÇÏ´Â ÅؽºÃ³ À̹ÌÁö º¸´Ù ÅؽºÃ³¸µµÇ´Â Æò¸éÀÌ ´õ Ŭ¼öµµ ÀÖ°í
ÀÛÀ» ¼öµµ ÀÖ°í, ȤÀº °°À» ¼öµµ ÀÖ´Ù. ¹°·Ð ÀÌ·± °æ¿ì¸¦ ´ëºñÇؼ MIPMAP °°Àº ÇÊÅ͸µÀÌ Á¸ÀçÇϱä ÇÏÁö¸¸... ¿©ÇÏÆ° ÀÌ
¹®Á¦ÀÇ ÇÙ½ÉÀº ÅؽºÃ³ÀÇ °ø°£ Å©±â¿Í ÅؽºÃ³°¡ Àû¿ëµÉ ºÎºÐÀÇ °ø°£ Å©±â°¡ ´ëºÎºÐ °°Áö ¾Ê´Ù´Â °Í¿¡¼ Ãâ¹ßÇÑ´Ù(¹°·Ð ¶È °°ÀÌ ÇÒ
¼öµµ ÀÖ°ÚÁö¸¸, ÀÌ·¸°Ô µÇ¸é ´ÜÀÏÇÑ Àå¸é¿¡ µ¿ÀÏÇÏ°í »çÀÌÁ ´Ù¸¥ ÅؽºÃÄ°¡ ¼ö¹é ¼öõÀåÀÌ ÇÊ¿äÇÏ°Ô µÈ´Ù. ÀÌ ÀÏÀ» ´©°¡ Çϰڴ°¡?).
OpenGL ÀÇ ÀÔÀå¿¡¼ º»´Ù¸é ȸ鿡 ÂïÈ÷´Â Çȼ¿°ú ½ÇÁ¦·Î ÅؽºÃ³ À§ÀÇ ÇÑ Çȼ¿ÀÎ
Åؼ¿À» ±¸ºÐÇÏ´Â °üÁ¡¿¡¼ µÎ°¡ÁöÀÇ °æ¿ì°¡ ¹ß»ýÇÏ°Ô µÈ´Ù. Áï,
*ȸéÀ» ±¸¼ºÇÏ´Â Çȼ¿ÀÇ ´ÜÀÏ È¼Ò¼Ó¿¡ ¿©·¯°³ÀÇ Åؼ¿ÀÌ µé¾î°¡´Â °æ¿ì(GL_TEXTURE_MIN_FILTER)
*ȸéÀ» ±¸¼ºÇÏ´Â Çȼ¿ÀÇ ´ÜÀÏ È¼Ò°¡ Åؼ¿ÀÇ ÀϺκР¸¸À» ´ã´Â °æ¿ì(GL_TEXTURE_MAG_FILTER)
À§¿¡ ¿°ÅÇÑ °æ¿ì´Â ¾Æ·¡ÀÇ ¼¼ °¡Áö ±×¸²¿¡¼ ±× ¿¹¸¦ °üÂûÇÒ ¼ö ÀÖ´Ù. ¿ì¼±,
ù ¹ø° ±×¸²Àº ´ÙÇàÈ÷µµ(?) Çȼ¿°ú Åؼ¿ÀÇ Å©±â°¡ 100% ¸Â¾Æ ¶³¾îÁö´Â °æ¿ìÀÌ´Ù. ¹°·Ð ÀÌ·± °æ¿ì´Â ¸Å¿ì µå¹°´Ù. µÎ ¹ø°
±×¸²Àº ȸéÀ» ±¸¼ºÇÏ´Â Çȼ¿ÀÇ ´ÜÀÏ È¼Ò¼Ó¿¡ ¿©·¯°³ÀÇ Åؼ¿ÀÌ µé¾î°¡´Â °æ¿ìÀÇ ¿¹À̸ç, ¼¼ ¹ø° ±×¸²Àº ȸéÀ» ±¸¼ºÇÏ´Â Çȼ¿ÀÇ
´ÜÀÏ È¼Ò°¡ Åؼ¿ÀÇ ÀϺκР¸¸À» ´ã´Â °æ¿ì·Î, ¿ÀÈ÷·Á Åؼ¿ÀÌ Çȼ¿º¸´Ù ´õ Å« »óȲÀÌ´Ù(ÀÌ·± °æ¿ì´Â À̹ÌÁö¸¦ È®´ëÇÒ ¶§ ÀϾÙ).
[±×¸²2] Çȼ¿°ú Åؼ¿ÀÇ Å©±â°¡ 100% ¸Â¾Æ ¶³¾îÁö´Â °æ¿ì
[±×¸²3] ȸéÀ» ±¸¼ºÇÏ´Â Çȼ¿ÀÇ ´ÜÀÏ È¼Ò¼Ó¿¡ ¿©·¯ °³ÀÇ Åؼ¿ÀÌ µé¾î°¡´Â
°æ¿ì(GL_TEXTURE_MIN_FILTER)
[±×¸²4] ȸéÀ» ±¸¼ºÇÏ´Â Çȼ¿ÀÇ ´ÜÀÏ È¼Ò°¡ Åؼ¿ÀÇ ÀϺκР¸¸À» ´ã´Â
°æ¿ì(GL_TEXTURE_MAG_FILTER)
¿ì¼± [±×¸²2]¸¦ »ìÆ캸ÀÚ. ÀÌ·±°æ¿ì´Â °ÅÀÇ ÀϾÁö ¾Ê±â´Â ÇÏÁö¸¸ Çȼ¿°ú Åؼ¿ÀÌ
1:1·Î ´ëÀÀµÇ´Â °æ¿ì´Ù. ÀÌ·± °æ¿ì´Â ±ÛÀÚ ±×´ë·Î Åؼ¿ÀÇ ÇÑ Çȼ¿À» µû¼ Çȼ¿ ¿µ¿ª¿¡ °¡Á®´Ù ºÙÀÌ¸é °£´ÜÈ÷ ³¡³´Ù. »ó´ëÀûÀÎ
Å©±â °è»êÀ̳ª ÇÊÅ͸µÀÇ °³³äÀÌ µµÀ﵃ ÇÊ¿ä°¡ ¾ø´Ù.
[±×¸²3]ÀÇ °æ¿ì´Â ȸéÀ» ±¸¼ºÇÏ´Â Çȼ¿ÀÇ ´ÜÀÏ È¼Ò¼Ó¿¡ ¿©·¯°³ÀÇ Åؼ¿ÀÌ µé¾î°¡´Â
°æ¿ìÀÌ´Ù. ÀÌ °æ¿ì´Â Åؼ¿ÀÇ Å©±â¸¦ ÁÙ¿©¾ß ÇÏ´Â ¹®Á¦°¡ »ý±ä´Ù. ´ëºÎºÐÀÇ MIPMAP ÇÊÅ͸µÀº ÀÌ °æ¿ì¿¡ ¹ß»ýÇÏ°Ô µÈ´Ù. Áï,
À̹ÌÁö¸¦ ¾ÆÁÖ ¸Ö¸®¼ °üÂûÇÏ´Â °æ¿ìÀÇ ¿¹°¡ ±×°ÍÀÌ´Ù. ÀÌ °æ¿ì´Â ´ÜÀÏ Çȼ¿¿¡ µé¾î°¡´Â Åؼ¿ÀÇ »ö °ªµé Áß¿¡ Æò±ÕÀûÀÎ °ªÀ» ¾ò¾î¼
´ÜÀÏ Çȼ¿·Î Ç¥ÇöÇÏ´Â ÇÊÅ͸µÀÇ ¹æ¹ýÀÌ µ¿¿øµÈ´Ù(MIPMAP À» ÁغñÇÏÁö ¾Ê°í ½Ç½Ã°£À¸·Î °è»êÇؼ ÅؽºÃ³¸µÀ» ÇÑ´Ù´Â °ÍÀº ½Ã½ºÅÛ
ÀÚ¿øÀ» ³Ê¹« ³¶ºñÇÏ´Â °á°ú¸¦ ÃÊ·¡ÇÑ´Ù). MAIMAP Àº ¹Ì¸® ÁغñµÈ Àý¹ÝÂ¥¸® Å©±âÀÇ »çÀÌÁî ¸Êµé·Î ±¸¼ºµÇ¸ç, ÀÌ°ÍÀº 2,4,8,16,32
µîÀÇ Á¤¼ö°ªÀ¸·Î ¹Ì¸® À̹ÌÁö ÇǶó¹Ìµå¸¦ ÀÌ·ç¸ç ÁغñµÇ¾î ÀÖ´Ù. ÀÌ·¯ÇÑ ÁغñµÈ Å©±âÀÇ À̹ÌÁö´Â ¥ë(¶÷´Ù)¶ó´Â º¯¼ö°ªÀ» ÅëÇؼ Á¦¾îµÇ¸ç,
°¢°¢ ½ÃÁ¡ÀÇ »ó´ëÀûÀÎ °Å¸®¿¡ µû¶ó ÀûÀýÇÑ MIPMAP ÀÌ ÅؽºÃ³¸µ µÇ°Å³ª º¸°£µÇ¾î ¿ÀºêÁ§Æ®¿¡ ¿Ã¶ó ºÙ°Ô µÈ´Ù. ÀÌ·¯ÇÑ ÅؽºÃ³
ÇÊÅ͸µÀº CPU ÀÚ¿ø ¿ä±¸·®À» ±Þ°ÝÈ÷ ³·Ãß¸ç ¸Þ¸ð¸® ´ë¿ª ¿ª½Ã Àý¾àÇÒ ¼ö ÀÖ´Ù.
[±×¸²4]ÀÇ °æ¿ì´Â À§¿¡¼ ¼³¸íÇÑ [±×¸²3]ÀÇ °æ¿ì¿¡ ´ëÇؼ Á¤¹Ý´ëµÇ´Â »óȲÀÌ´Ù.
Áï, ´ÜÀÏ Åؼ¿¿¡ ´ëÇؼ Çȼ¿ÀÌ À̹ÌÁö¸¦ ¿À¹ö »ùÇøµÇÏ°í ÀÖ´Ù(½±°Ô À̾߱â ÇÏÀÚ¸é ¾ÆÁÖ °¡±îÀÌ ±ÙÁ¢Çؼ ¹°Ã¼¸¦ °üÂûÇÑ´Ù°í °¡Á¤Çغ¸¸é
µÈ´Ù). OpenGL ¿¡¼´Â ÀÌ¿¡ ´ëÇؼ µÎ°¡ÁöÀÇ ¿É¼ÇÀ» Áö¿øÇÑ´Ù. Áï, GL_NEAREST ¿Í GL_LINEAR ÀÇ µÎ°¡Áö
¿É¼ÇÀÌ´Ù. GL_NEAREST ¿É¼ÇÀÇ °æ¿ì °¡Àå ÀÛÀº MIPMAP ÅؽºÃĸ¦ ¸®ÅÏÇؼ ÃÖ°í ±ÙÁ¢ À̹ÌÁö¸¦ º¸¿©ÁØ´Ù. GL_LINEAR
ÀÇ °æ¿ì, ÁÖº¯ÀÇ 4°³ÀÇ Åؼ¿¿¡ ´ëÇÑ Æò±Õ°ªÀ» µ¹·ÁÁØ´Ù.
|