Çâ»óµÈ ½¦ÀÌ´õ ó¸® ´É·Â
DirectX 10¿¡ ÀÌ¾î µîÀåÇÑ DirectX 10.1Àº ¾Õ¼µµ ¾ð±ÞÇÏ¿´µíÀÌ
DirectX 10ÀÇ ¸¶À̳ʾ÷±×·¹ÀÌµå ¹öÀü¿¡ ¼ÓÇÏ´Â °ÍÀ¸·Î ÀÌÀü ¹öÀüÀÇ DirectX 10ÀÇ Çϵå¿þ¾îÀûÀÎ °¡´É¼º, Áï
ÇÁ·Î±×·¡¹ÖÀÇ Çâ»ó°ú ȣȯ¼º, À̹ÌÁö Ç°Áú Çâ»ó, Á¤¹Ðµµ Çâ»ó µîÀ» ´Ù·ç°Ô µÈ´Ù.
[DirectX 10.1ÀÇ ½¦ÀÌ´õ Çâ»ó ¹× Á¤¹Ðµµ Çâ»ó]
´ëÇ¥ÀûÀÎ °ÍÀ¸·Î ½¦ÀÌ´õ ¹öÀüÀÇ ¾÷±×·¹À̵å¿Í ÅؽºÃ³ 󸮿¡¼ À̹ÌÁö Ç°Áú Çâ»ó°ú ÇÔ²² ¼º´É
Çâ»óÀ» ¸ðµÎ °í·ÁÇÑ´Ù. ½¦ÀÌ´õ ¹öÀüÀº ÀÌÀüÀÇ Shader Model 4.0¿¡¼ Shader Model 4.1·Î ¾÷±×·¹À̵å
µÇ¾î ó¸® ¼º´É ¹× È¿°úÀÇ Çâ»ó, ±×¸®°í ÇÁ·Î±×·¡¹ÖÀÇ À¯¿¬¼ºÀ» ³ôÀδÙ.
DirectX 9¿¡¼ ½¦ÀÌ´õ (Shader)¸¦ ó¸®Çϱâ À§ÇØ Vertex¿Í Pixel
Shader¸¦ ºÐ¸®ÇØ ³õ°í °¢°¢ÀÇ ÆÄÀÌÇÁ¶óÀÎ ¼ö¸¦ Áõ°¡½ÃÄÑ ´Ù¾çÇÑ ÅؽºÃ³ µ¥ÀÌÅÍ Ã³¸®³ª Shader È¿°ú 󸮸¦ ºü¸£°Ô
ó¸®ÇÒ ¼ö ÀÖµµ·Ï ¸¸µé¾îÁ® ¿Ô´Ù. ±×·¯³ª, DirectX 10¿¡¼´Â Shader Model 4.0À¸·Î º¯ÈµÇ°í
Vertex¿Í Pixel·Î ³ª´µ¾ú´ø °Í¿¡ ÅëÇÕ ½¦ÀÌ´õ ¾ÆÅ°ÅØó¸¦ Àû¿ëÇÏ¿© »õ·Î¿î Geometry Shader±îÁö ÅëÇÕÇÏ¿©
ó¸® ¼º´É °³¼±°ú È¿°ú¸¦ Çâ»ó½Ãų ¼ö ÀÖµµ·Ï º¯ÈµÇ¾ú´Ù.
Shader Model 4.1¿¡¼´Â À̸¦ ´õ¿í ¹ßÀü½ÃÅ°°í Àִµ¥ ¾Æ·¡´Â ±âÁ¸ Shader
Model 4.0¿¡¼ Áö¿øÇÏ´Â °Íµé·Î DirectX 10.1ÀÇ Shader Model 4.1 ¿ª½Ã À̵éÀÌ Áö¿øÇÏ´Â °ÍÀ»
±âº»À¸·Î ÇÏ¿© Çâ»óÀ» °¡Á®¿À°í ÀÖ´Ù. Shader Model 4.1ÀÇ °æ¿ì ¾Æ·¡¿¡ ³ª¿Â °Í°ú °°Àº ¸í·É¾î µîÀÇ ¼ö°¡
°ø°³µÇÁø ¾Ê¾ÒÁö¸¸, Shader Model 4.0À» ±â¹ÝÀ¸·Î ´õ ¸¹Àº ¸í·É¾îµéÀÌ Ãß°¡µÉ °ÍÀ¸·Î º¸¿©Áø´Ù.
¡¡
Shader Model 4.1·Î ó¸® ´É·Â Áõ´ë
[Shader Model 4.0 ÇÁ·Î±×·¡¹Ö ¹× ¸í·É¾î ¸®¼Ò½º]
DirectX 10¿¡ Æ÷ÇÔµÈ Shader Model
4.0¿¡¼´Â ÀÌÀü ¹öÀüµéº¸´Ù ´õ ¸¹Àº ¸í··¾îÀÎ 6¸¸ 4õ±â ÀÌ»ó, ÅؽºÃ³ Å©±âµµ 4048x4048¿¡¼ 8096x8096À¸·Î
Áõ°¡µÇ¾î ³ôÀº µðÅ×ÀÏÀÇ ¿ÀºêÁ§Æ®¸¦ »ý¼ºÇÒ ¼ö ÀÖ´Ù. Shader Model 4.1¿¡¼ ¿ª½Ã ÀÚ¼¼ÇÑ °ø°³°¡ ÀÌ·ç¾îÁö°í ÀÖÁö´Â
¾ÊÁö¸¸, 4.0º¸´Ù ó¸® ´É·ÂÀÌ Áõ°¡µÇ¾úÀ» °ÍÀ¸·Î ¾Ë·ÁÁö°í ÀÖ´Â »óÅ´Ù.
¶Ç, DirectX 9¿¡¼´Â ½Ì±Û Æнº¸¦ ÅëÇØ 4°³ÀÇ ·»´õ¸µÀÌ °¡´ÉÇß´ø °ÍÀÌ
DirectX 10¿¡¼´Â 8°³·Î Áõ´ëµÇ¾ú´Âµ¥ DirectX 10.1¿¡¼´Â ¸ÖƼ·»´õ¸µÀ¸·Î »ý¼ºµÈ °á°ú¹°À» ÇÕÇÏ´Â ºí·£µù
°úÁ¤ÀÇ Ã³¸® ´É·ÂÀ» ³ôÀ̱â À§ÇØ ÀÌ ºí·£µù °úÁ¤À» µ¶¸³ÀûÀ¸·Î ¼³Á¤ÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀ» µµÀÔÇÑ´Ù. (Separate Blend
Modes per-MRT) ÀÌ ¹æ¹ýÀ» ÅëÇØ º¹ÀâÇÑ 3DȸéÀÇ È¿À²ÀûÀÎ ·»´õ¸µÀ» ÅëÇØ ¼º´É Çâ»óÀ» ¾òÀ» ¼ö ÀÖ°Ô µÈ´Ù.
ºí·£µù ºÎºÐ¿¡¼ FP16°ú
FP32 Àû¿ëÀº °°Áö¸¸, DirectX 10ÀÌ 8bit Á¤¼ö¿¬»ê (Int8) ¿¬»ê¸¸ Áö¿øÇÏ´Â °Í¿¡¼ 8bit Á¤¼ö¿¬»ê¿¡
Ãß°¡·Î 16bit Á¤¼ö¿¬»ê (Int16)À» Áö¿øÇÔÀ¸·Î½á Áö¿À¸ÞÆ®¸® ¿¬»ê ¼º´ÉÀ» °³¼±ÇÒ ¼ö ÀÖµµ·Ï °³¼±µÈ´Ù. (ºí·£µùÀº
64bit Á¤¼ö Çȼ¿ Æ÷¸Ë ÇÊ¿ä)
Texture Filtering ó¸® ºÎºÐ¿¡¼µµ DirectX 9¿Í 10ÀÌ FP16
Filtering
¿¬»êÀ» ó¸®ÇÏ¿© ¿Ô´Ù¸é, DirectX 10.1Àº FP32 Filtering ¿¬»êÀ» ÅëÇØ HDR ·»´õ¸µ µî¿¡¼ Ç°Áú Çâ»óÀ» °¡Á®¿Ã ¼ö
ÀÖ°Ô µÇ¾ú´Ù. ¶ÇÇÑ, ¾ÆÁ÷±îÁö Á¤È®ÇÑ °³¼± ³»¿ëÀÌ ¾Ë·ÁÁö°í ÀÖÁö´Â ¾ÊÁö¸¸, ·»´õ¸µ ÆÄÀÌÇÁ¶óÀÎ ÀüüÀÇ Á¤¹Ðµµ ¿ª½Ã
Çâ»óµÇ¾ú´Ù. (ÀÌÀü±îÁö ¿É¼Ç »çÇ×À̾ú´ø ÇÊÅ͸µ 󸮿¡¼ 128bit Floating Point Texture FormatÀÌ
±âº» Àû¿ëµÈ´Ù. ±×¿¡ µû¶ó Ç°ÁúÀº ³ô¾ÆÁö³ª ¼º´É ÀúÇÏ°¡ ¹ß»ýÇÑ´Ù.)
ÇÏÁö¸¸, 32bit
Floating Point (FP32) Filtering ¿¬»êÀ» Àû¿ëÇÑ ´Ù´Â °ÍÀº Ç°ÁúÀ» ³ôÀÏ ¼ö ÀÖÁö¸¸, ¼º´ÉÀÇ ÀúÇÏ°¡ µû¸£´Â ¹®Á¦°¡ ÀÖ´Ù.
ÀÌ·± ºÎºÐµéÀº °í¼º´É ±×·¡ÇÈ Ä«µåµéÀÇ ¼º´É°ú ÀÌÇÏ ±×·¡ÇÈ Ä«µåµéÀÇ Àü¹ÝÀûÀÎ ¼º´ÉÀÌ Çâ»óµÇ¸é ¼º´É ÀúÇÏ ¹®Á¦´Â Á¡Â÷ °³¼±µÇ¾îÁú °ÍÀ¸·Î º¸¿©Áø´Ù.
¶Ç, ÀÌ·± ¿¬»ê ´É·Â °³¼±¿¡ µû¸¥ Æ®·£Áö½ºÅÍ Áõ°¡·Î ÀÎÇÑ ´ÙÀÌ Å©±â³ª ¹ß¿ µîÀÇ ¹®Á¦´Â °øÁ¤ °³¼± µîÀ» ÅëÇØ ÇØ°áµÉ ¼ö
ÀÖÀ» °ÍÀ¸·Î º¸¿©Áö¸ç, AMD ÀÇ DirectX 10.1 ±×·¡ÇÈ Ä«µå´Â 55nm °øÁ¤ÀÌ Àû¿ëµÇ¾î ÀÌ·± ¹®Á¦Á¡µéÀ» ÇØ°áÇÒ ¼ö
ÀÖÀ» °ÍÀ¸·Î º¸¿©Áø´Ù.
¿©±â¼ »ìÆ캻 DirectX 10¿¡ ´ëÇØ ±Ã±ÝÇÑ ºÎºÐµéÀº ÀÌÀü º¸µå³ª¶óÀÇ ±â»çÀÎ
ÄÚµå¸í G80, DirectX 10, nVIDIA GeForce 8800 / µµ´ëü ¾î¶²°Ô ¹Ù²ï°Å¾ß?¸¦
ÂüÁ¶Çϵµ·Ï ÇÏÀÚ.
¡¡
DirectX 10.1ÀÇ Cubemap ¹è¿ »ý¼º ¹× ¸ÖƼÄÚ¾î ¼º´É Çâ»ó
[DirectX 10ÀÇ Texture Array¸¦ ÅëÇÑ Cubemap »ý¼º]
[DirectX 10.1Àº Cubemap¿¡ ¹è¿ »ý¼º]
±âÁ¸ DirectX 10¿¡¼ ´Ù¼öÀÇ ÅؽºÃ³¸¦ ¹è¿ ±¸Á¶·Î ó¸®ÇÏ´Â ¹æ½ÄÀ» µµÀÔÇÏ°í Àִµ¥
DirectX 10.1¿¡¼´Â ÀÌ¿¡ Ãß°¡·Î ÅؽºÃ³¸¦ ¹è¿ ±¸Á¶·Î ÇÏ¿© »ý¼ºµÈ Cubemap ÀÚüÀÇ ¹è¿ ±¸Á¶¸¦ Á¤ÀÇÇÒ ¼ö
ÀÖµµ·Ï °³¼±µÇ°í ÀÖ´Ù. Cubemap ÀÚüÀÇ ¹è¿ ±¸Á¶¸¦ Á¤ÀÇÇÔÀ¸·Î½á ¼º´É Çâ»óÀ» ¾òÀ» ¼ö ÀÖ°Ô µÈ´Ù.
¶ÇÇÑ, DirectX 10.1Àº ¸ÖƼÄÚ¾î Áï, ÇöÀçÀÇ µà¾ó ¹× Äõµå ÄÚ¾î ÇÁ·Î¼¼¼
½Ã½ºÅÛ¿¡¼ Çâ»óµÈ ¼º´ÉÀ» ¾òÀ» ¼ö ÀÖµµ·Ï °³¼±µÇ´Âµ¥ ±×¸®±â¿Í ·»´õ¸µ °úÁ¤¿¡¼ÀÇ ¹Ý»ç¿Í ±¼ÀýÀ» Ç¥ÇöÇÏ´Â °úÁ¤¿¡¼ÀÇ API
È£ÃâÀ» ÁÙÀÓÀ¸·Î½á ¼º´É Çâ»óÀ» ¾òÀ» ¼ö ÀÖµµ·Ï º¯°æµÈ´Ù.
¡¡
AMD¿¡¼ ¾ð±ÞµÈ DirectX 10.1 Áö¿ø
¶ÇÇÑ, AMDÀÇ DirectX 10.1 Áö¿ø ±×·¡ÇÈ Ä«µåµé¿¡¼ Áö¿øÇÏ´Â ±â´ÉµéÀ» Æ÷ÇÔÇÑ
¹®¼°¡ À¯ÃâµÇ¾ú´Âµ¥ ¿©±â¿¡´Â DirectX 10.1 Áö¿ø ºÎºÐ¿¡ ´ëÇÑ ³»¿ëµéÀÌ Æ÷ÇԵǾî ÀÖ´Ù. ¿©±â¿¡¼ ¼Ò°³ÇÏ°í
ÀÖ´Â ³»¿ëµéÀº DirectX 10.1¿¡¼ Áö¿øÇÏ°í ÀÖ´Â ³»¿ëµéÀÌ´Ù.
´ëÇ¥ÀûÀ¸·Î LOD Instruction°ú Global illumination,
Gather4ÀÇ 3°¡Áö¸¦ µé ¼ö ÀÖ´Ù.
LOD InstructionÀº »õ·Î¿î ½¦ÀÌ´õ ¸í·É¾î¼ÂÀ¸·Î LOD Áï, Level Of
DetailÀÇ ¾àÀÚ·Î °Å¸®¿¡ µû¶ó ¸ðµ¨¸µ µÈ µ¥ÀÌÅ͸¦ ¼±ÅÃÀûÀ¸·Î »ç¿ëÇÏ´Â ±â¹ýÀ¸·Î ·»´õ¸µ ¹°Ã¼¿Í È¸é »çÀÌÀÇ °Å¸®¿¡ µû¶ó
Æú¸®°ïÀÇ °³¼ö°¡ ´Ù¸¥ ¸ðµ¨¸µ µ¥ÀÌÅ͸¦ ¼±ÅÃÀûÀ¸·Î ·»´õ¸µ ÇÏ´Â ±â¹ýÀÌ´Ù. ÀÌ´Â ÇϳªÀÇ ¹°Ã¼¸¦ Ç¥ÇöÇÒ ¶§ °Å¸®°¡ ¸Ö¸é ÀûÀº
¼öÀÇ Æú¸®°ïÀÌ Àû¿ëµÈ ¸ðµ¨¸µ µ¥ÀÌÅ͸¦ »ç¿ëÇÏ¿© ½ÇÁ¦ ·»´õ¸µ µÇ´Â Æú¸®°ïÀÇ ¼ö¸¦ ÁÙ¿© ·»´õ¸µ ¼Óµµ¸¦ Áõ°¡½Ãų ¼ö ÀÖ°Ô µÈ´Ù.
ÀÌ·¸°Ô µÇ¸é ¸Ö¸® ¶³¾îÁø ¸¹Àº °³Ã¼¸¦ ÀûÀº Æú¸®°ï ¼ö·Î ¸ðµ¨¸µÇÏ¿© »ç¿ëÇϹǷΠÈÁú ÀúÇÏ ¾øÀÌ ºü¸£°Ô ȸ鿡 ³ªÅ¸³¾ ¼ö ÀÖ°í
°¡±î¿î °³Ã¼´Â ¸¹Àº ¼öÀÇ Æú¸®°ïÀ» »ç¿ëÇÏ¿© Çö½Ç°¨ ÀÖ°Ô Ç¥ÇöÀÌ °¡´ÉÇØÁø´Ù. ȸéÀÇ À§Ä¡¸¦ °í·ÁÇϸé Æú¸®°ï ¼ö¸¦ °¡º¯ÀûÀ¸·Î
Á¶ÀýÇÒ ¼ö ÀÖÀ¸¹Ç·Î ÈÁúÀÇ ÀúÇÏ´Â ¾øÀ¸¸é¼ ºü¸¥ ¼Óµµ±îÁö ¾òÀ» ¼ö ÀÖ°Ô µÈ´Ù.
¶Ç, Global illuminationÀº Àü¿ªÁ¶¸í(±¤¿ø)À¸·Î Çؼ®µÉ ¼ö Àִµ¥ ÀÌ ºÎºÐÀº
DirectX¿¡¼ »ç¿ëÇÏ´Â Áö¿À¸ÞÆ®¸® ½¦ÀÌ´õ¸¦ ÅëÇÑ Cube map ¹è¿ »ý¼º ºÎºÐ¿¡¼ À̹ÌÁö Ç°ÁúÀ» Áõ°¡½ÃÅ°±â À§ÇØ
»ç¿ëÇÏ´Â °ÍÀÌ´Ù.
[Ray Tracing ȸé (Ãâó :
Henrik Wann Jensen ºÎ±³¼öÀÇ À¥ °Ô½Ã À̹ÌÁö)]
[Global illumination ȸé] [(Ãâó :
Henrik Wann Jensen ºÎ±³¼öÀÇ À¥ °Ô½Ã À̹ÌÁö)]
·¹ÀÌÆ®·¹ÀÌ½Ì (Ray Tracing)Àº »ïÂ÷¿ø ±×·¡ÇÈ¿¡ »ç¿ëµÇ´Â ±â¹ý ÁßÀÇ Çϳª·Î
°¡»ó±¤¿ø¿¡¼ ³ª¿Â ºûÀÌ ¿©·¯ ¹°Ã¼ÀÇ Ç¥¸é¿¡ ¹Ý»çµÇ´Â °æ·Î¸¦ ÃßÀûÇÏ¿© °¢ ¹°Ã¼ÀÇ ¸ð¾çÀ» Çü¼ºÇÏ´Â °ÍÀ» ¸»ÇÑ´Ù.
Àü¿ªÁ¶¸í (Global illumination)Àº ±¤¿øÀ» ÅëÇØ »ç¹°À» Á÷Á¢ ³ªÅ¸³»´Â
¹æ½Ä°ú ¹è°æ¿¡ ±¤¿øÀ» ºñÃß¾î »ç¹°À» ºÎ°¢ÇØÁÖ´Â ¹æ½ÄÀÌ ¸¹ÀÌ »ç¿ëµÈ´Ù. ÀÌ »çÀÌÆ®¿¡µµ ³ªÅ¸³ª°í ÀÖÁö¸¸, Global
illuminationÀ» Àû¿ëÇϸé À̹ÌÁö Ç¥ÇöÀ̳ª Ç°Áú¿¡¼ ¾Õ¼³ ¼ö´Â ÀÖÀ¸³ª ±×¿¡ µû¸£´Â ¿¬»êÀÌ ´Ã¾î³ª±â ¶§¹®¿¡ ¼º´É
ºÎºÐ¿¡¼´Â ÀúÇÏ°¡ ÀϾ ¼ö ÀÖ´Ù.
Àü¿ªÁ¶¸í (Global illumination)À» Àû¿ëÇÏ¸é ´Ù¼öÀÇ CubemapÀ» ½Ì±Û Æнº ·»´õ¸µÀ¸·Î
ÀÐ°í ¾µ ¼ö Àֱ⠶§¹®¿¡ ½Ç½Ã°£À¸·Î º¹ÀâÇÑ ¿òÁ÷ÀÓ°ú ¿ªµ¿ÀûÀΠȸé, Á÷»ç±¤¼±, ¹Ý¿µ ¹× ¹Ý»ç, °íÇ°Áú ±¤Åà µîÀ» Ç¥ÇöÇÒ ¼ö ÀÖ°Ô
µÈ´Ù.
¶Ç, º¹ÀâÇÑ ½¦ÀÌ´õ 󸮿¡¼ÀÇ ¼º´É Çâ»óÀ» À§ÇØ Vertex Shader ÀÔÃâ·Â ó¸®
ºÎºÐ ¿ª½Ã ±âÁ¸ DirectX 10¿¡¼´Â ½¦ÀÌ´õ ´ç 128bit 16°³ÀÇ Ã³¸®°¡ °¡´ÉÇÏ¿´´ø °Í°ú ºñ±³ÇÏ¿© DirectX
10.1¿¡¼´Â 128bit 32°³ÀÇ µÎ ¹èÀÇ Ã³¸®°¡ °¡´ÉÇØÁ® ½¦ÀÌ´õÀÇ Ã³¸® ´É·ÂÀ» Çâ»ó½Ãų ¼ö ÀÖ°Ô µÈ´Ù.
Gather4´Â ÄÄÇ»ÅÍ ¾îÇø®ÄÉÀ̼ÇÀÇ È帧À» Çâ»ó½ÃÅ°±â À§ÇÑ ±â´ÉÀ¸·Î ÇÊÅ͸µµÇÁö ¾ÊÀº
ÅؽºÃ³ ºí·° °ªÀÇ 2x2 ºí·°À» ½Ì±Û bilinear ÇÊÅÍ ÅؽºÃ³¿¡ À§Ä¡Çϵµ·Ï ÆÐÄ¡ÇÏ¿© °Ë»öÇϵµ·Ï ÇÏ´Â ¹æ½ÄÀ¸·Î ó¸®
¼º´ÉÀ» °³¼±ÇÒ ¼ö ÀÖ°Ô µÈ´Ù.
¡¡
DirectX 10.1Àº Shader Model 4.1·ÎÀÇ ¾÷±×·¹ÀÌµå ¹× ºí·£µù ¹×
ÇÊÅ͸µ ¿¬»ê, ¹öÅؽº ½¦ÀÌ´õ ó¸®, ÆÄÀÌÇÁ¶óÀΠó¸® ¼º´É °³¼±, ¸ÖƼÄÚ¾î CPU µîÀ» ÅëÇÑ ¼º´É Çâ»ó µîÀ» ´Ù·ç°í ÀÖ´Ù.
À̸¦ ÅëÇØ ±âÁ¸º¸´Ù Çâ»óµÈ ½¦ÀÌ´õ ó¸® ´É·ÂÀ» Á¦°øÇÏ°í ÅؽºÃ³ ºÎºÐ¿¡¼µµ
Cubemap ¹è¿ µîÀ» ÅëÇÑ ¿¬»ê ¼º´É ¹× À̹ÌÁö Ç°Áú Çâ»óÀ» ²ÒÇÏ°í ÀÖ´Ù. |