°ÔÀÓ ¿£ÁøÀ̶õ
¹«¾ùÀΰ¡?
ÇöÀçÀÇ Direct3D ±â¹ÝÀÇ 3D±×·¡ÇÈ Ã³¸®´Â ´ÙÀ½°ú °°Àº ¹æ½ÄÀ» ÃëÇÏ°í
ÀÖ´Ù. ÀÌ·¯ÇÑ ¹æ½ÄÀ» »ç¿ëÇÏ´Â °¡Àå Å« ÀÌÀ¯´Â, °¡Àå ºÎµå·´°Ô ó¸®ÇÒ ¼ö ÀÖÀ¸¸é¼µµ Çϵå¿þ¾îÀÇ µµ¿òÀ» ¹ÞÀ» ¼ö Àֱ⠶§¹®ÀÌ´Ù. ¹°·Ð
OpenGLÀÇ °æ¿ìµµ ÀÌ¿Í Å« Â÷ÀÌ´Â ¾ø´Ù.
°ÔÀÓ¿¡¼ÀÇ Å° ÀԷ°ú Á¶À̽ºÆ½ ÀԷ¿¡ µû¶ó 3Dij¸¯Å͸¦ À̵¿½ÃÅ°°Å³ª ÇÏ´Â 3D
󸮿Í, ¹ß»çÇÑ ¹Ì»çÀÏÀÌ Àû¿¡°Ô Ãæµ¹Çϴ°¡ µîÀÇ ¿©ºÎ, ÀÚµ¿Â÷ °ÔÀÓ¿¡¼ Â÷·®ÀÌ ¹Ì²ø¾îÁö´Â 󸮵îÀº ÀÌ ±×¸²¿¡ Æ÷ÇÔµÇÁö´Â ¾Ê¾Ò´Ù. ÀÌ·¯ÇÑ °ÍµéÀº
°ÔÀÓ ÇÁ·Î±×·¥¿¡¼ ó¸®ÇÏ´Â ºÎºÐµé·Î 3D±×·¡ÇÈ ºÎºÐ¿¡¼ ó¸®ÇÏ´Â °ÍÀÌ ¾Æ´Ï±â ¶§¹®ÀÌ´Ù. ÀÌ·¯ÇÑ °ÍµéÀº ¾ÕÀ¸·Îµµ °è¼Ó CPU°¡ ´ã´çÇØ¾ß ÇÒ ºÎºÐÀÎ
°ÍÀÌ´Ù.
ÀϹÝÀûÀ¸·Î DOOM III¿£Áø, Unreal ¿£ÁøÀ̶ó ºÒ¸®´Â 3D°ÔÀÓ ¿£ÁøÀº CPU°¡ ´ã´çÇϴ ó¸®ºÎºÐÀ» ¸»ÇÏ´Â °ÍÀÌ´Ù.
¶ÇÇÑ ÀÌ·¯ÇÑ °ÔÀÓ ¿£ÁøÀº 3D±×·¡ÇÈÀ» Ç¥ÇöÇϴµ¥ »óȲ¿¡ µû¶ó ¾î¶»°Ô Ç¥ÇöÇÏ´ÂÁö¸¦ ¼³Á¤ÇÏ´Â ºÎºÐ±îÁö Æ÷ÇÔÇÑ´Ù. Áï, °°Àº DirectX¸¦ »ç¿ëÇÏ°í
°°Àº ±×·¡ÇÈ Ä«µå¸¦ »ç¿ëÇÏ´Â µ¥¿¡µµ °ÔÀÓ Å¸ÀÌƲ¸¶´Ù 3D ±×·¡ÇÈÀÇ Ç¥ÇöÀÌ ´Ù¸¥ °ÍÀº °ÔÀÓ ¿£ÁøÀÇ Â÷ÀÌ ¶§¹®ÀÌ´Ù.
Áö¿À¸ÞÆ®¸® 󸮴 ¾î¶²
°ÍÀΰ¡?
<3D ±×·¡ÇÈ
󸮰úÁ¤>
±×¸² 1¿¡¼ ¨é¨ê¨ëÀÇ
ºÎºÐÀº Áö¿À¸ÞÆ®¸®Ã³¸® °úÁ¤À» º¸¿©ÁÖ´Â °ÍÀÌ´Ù. Áö¿À¸ÞÆ®¸®(Geometry)´Â ±âÇÏÇÐÀ̶õ ¶æÀ¸·Î, 3D ±×·¡ÇÈ¿¡ ÀÖ¾î¼ »ý·«ÇÒ ¼ö ¾ø´Â 3Â÷¿ø
º¤ÅÍ¿¡ °üÇÑ Ã³¸®ÀÎ °ÍÀÌ´Ù. º¤ÅÍ´Â X, Y, ZÃà ¼¼ °³ÀÇ ÁÂÇ¥·Î Ç¥ÇöµÇ¸ç ¹æÇ⼺À» °¡Áö°í ÀÖ´Ù. ¶ÇÇÑ °¢°¢ÀÇ º¤ÅÍ ÁÂÇ¥ÀÇ ±âÁØÀ» ÁÂÇ¥°è¶ó°í
ÇÑ´Ù.
±×¸² 1¿¡¼ ¨éÀÇ ´Ü°è¿¡¼´Â °¢ º¤ÅÍÀÇ ÁÂÇ¥°è°¡ Çϳª·Î ÅëÀϵǸç ÃÖÁ¾ÀûÀ¸·Î Ä«¸Þ¶óÀÇ ½ÃÁ¡À» ±âÁØÀ¸·Î ÇÑ ÁÂÇ¥°è·Î Àü°³µÈ´Ù.
¿¹¸¦ µé¾î 3Dij¸¯ÅÍÀÇ ÆÈÀ» ±ÁÈ÷´Â Àå¸é¿¡¼ ±× °üÀýÀ» ±âÁØÀ¸·Î ÇÑ ÁÂÇ¥°è·Î °è»êÇÏ°Ô µÇ¸é °£´ÜÈ÷ ó¸®ÇÒ ¼ö ÀÖ´Ù. µû¶ó¼ ÆÈÀ»
±ÁÈ÷´Â ´Ü°è´Â °¢ °üÀýÀ» ±âÁØÀ¸·Î ¼³Á¤µÈ ·ÎÄà ÁÂÇ¥°è¸¦ ÀÌ¿ëÇØ °è»êÇÑ´Ù. ÀÌÈÄ ±ÁÇôÁø ÆÈÀº ±Û·Î¹ú ÁÂÇ¥°è¶ó´Â °ø°£ÀÇ Ç¥ÁØ ÁÂÇ¥°è·Î º¯È¯µÇ´Â
°ÍÀÌ´Ù.
±Û·Î¹ú ÁÂÇ¥°è·Î ÅëÀÏµÈ 3D °³Ã¼µéÀº ÃÖÁ¾ÀûÀ¸·Î Ä«¸Þ¶óÀÇ ½ÃÁ¡ ÁÂÇ¥°è·Î º¯È¯µÇ¾î ½ÃÁ¡À» ±âÁØÀ¸·Î Åõ½Ã º¯È¯ µÇ°Ô µÈ´Ù. Åõ½Ã
º¯È¯À̶õ ½ÃÁ¡¿¡¼ º¸ÀÌ´Â 3D °ø°£À» ȸ鿡 Ç¥½ÃµÇ´Â 2D·Î º¯ÈÇϴ ó¸®¸¦ ¸»ÇÑ´Ù. ÀÌ°ÍÀÌ ¨ê¿¡ ÇØ´çÇÏ´Â ºÎºÐÀÌ´Ù.
Ŭ¸®ÇÎÀº
½Ã°è¿¡ ³ªÅ¸³ª´Â ºÎºÐÀ» ã´Â ÀÛ¾÷À̸ç, Àº¸é 󸮴 ½ÃÁ¡¿¡¼ º¸ÀÌÁö ¾Ê´Â Æú¸®°ïÀ» ¾ø¾Ö´Â ÀÛ¾÷ÀÌ´Ù. ¶ÇÇÑ ÀÌ ºÎºÐ¿¡¼ ¾î´À Æú¸®°ï¿¡ ¾î¶²
ÅؽºÃ³¸¦ ºÙÀÌ°Ô µÉÁö °è»êÇÏ´Â ÀÛ¾÷µµ ¼öÇàµÈ´Ù. ½ÇÁ¦·Î ÅؽºÃ³ ¸ÅÇÎ ÀÛ¾÷Àº ¨íÀÇ ´Ü°è¿¡¼ ¼öÇàÇÏÁö¸¸, ÀÌ ºÎºÐ¿¡¼ ÁغñÀÛ¾÷À» °ÅÄ£´Ù°í »ý°¢Çϸé
µÈ´Ù.
±¤¿øó¸®
º¤ÅÍÀÇ ÁÂÇ¥ º¯È¯
ÀÛ¾÷ÀÌ ¿Ï·áµÇ¸é ±¤¿ø 󸮰¡ ÀÌ·ç¾îÁø´Ù. ÀÌ°ÍÀÌ ¨ëÀÇ ºÎºÐÀÌ´Ù. ºûÀÌ »ç¹°¿¡ ´êÀ¸¸é ¹Ý»çµÇ°Å³ª Èí¼öµÈ´Ù. ÀÌ·¯ÇÑ Ã³¸®¸¦ ÄÄÇ»ÅÍ´Â ¼öÇÐÀûÀ¸·Î
º¯È¯ÇÏ¿© ó¸®ÇÏ°Ô µÇ´Âµ¥ ÀÌ °Í ¿ª½Ã º¤Åͷμ 󸮵ȴÙ. ±¤¿ø 󸮿¡´Â ºûÀÇ ¹æÇ⺤ÅÍ¿Í ½Ã¼±º¤ÅÍ, ºûÀÌ ´ê´Â ¸éÀÌ ÇâÇÏ´Â ¹æÇ⺤ÅÍÀÇ °ü°è·Î
¼º¸³µÈ´Ù. ÀÌ ¼¼ °³ÀÇ º¤ÅÍ °ü°è¸¦ °è»êÇØ ºûÀÌ ½ÃÁ¡¿¡ ¾î¶² ÇüÅ·Πµµ´ÞÇÏ´Â ¹æÁ¤½ÄÀ» ¼ö¸³ÇÏ°í, °è»êÇØ ³»´Â °ÍÀÌ´Ù.
°á±¹
ÁÂÇ¥º¯È¯(Transform)°ú ±¤¿ø(Lighting)Àº ¸ðµÎ º¤ÅÍ ¿¬»êÀ¸·Î 󸮵Ǹé ÇöÀç Çϵå¿þ¾î T&L¿£ÁøÀÌ Ã³¸®ÇÏ´Â ºÎºÐÀÌ´Ù. ÀÌó·³
3D±×·¡ÇÈÀº 1ÇÁ·¹ÀÓ À̹ÌÁö¿¡ ¼ö ¹é°³ÀÇ º¤ÅÍ ¿¬»êÀÌ Ã³¸®µÇ°Ô µÈ´Ù.
·»´õ¸µ°úÁ¤À» °ÅÃÄ ½ÇÁ¦¿Í À¯»çÇÑ È¸éÀ»
¸¸µç´Ù
¨ç¿¡¼ ¨ë±îÁöÀÇ
󸮷ΠÀ̹ÌÁö ±¸ÇöÀ» À§ÇÑ ±âº»ÀûÀÎ Áغñ´Â ¿Ï·áµÈ »óÅÂÀÌ´Ù. ÀÌÈÄ ¨ì´Ü°è´Â ȸ鿡 Ç¥½ÃµÉ Æú¸®°ïÀÌ ¾î¶² Çȼ¿¿¡ ´ëÀÀÇÏ´Â Áö¸¦ °è»êÇÏ´Â °úÁ¤ÀÌ´Ù.
Çȼ¿À̶õ ȸéÀ» ±¸¼ºÇÏ´Â ÃÖ¼Ò ´ÜÀ§·Î, ¿¹¸¦ µé¾î 1024 768, 32ºñÆ® Ä÷¯ ¸ðµå¿¡¼´Â °¡·Î¹æÇâÀ¸·Î 1024°³, ¼¼·Î¹æÇâÀ¸·Î 768°³ÀÇ ÃÑ
76¸¸ 6432°³ÀÇ Çȼ¿ÀÌ Á¸ÀçÇÏ°Ô µÇ¸ç, 1Çȼ¿Àº 1677¸¸»öÀ» Ç¥ÇöÇÒ ¼ö ÀÖ´Ù. Áö±Ý±îÁöÀÇ ¿¬»ê °úÁ¤Àº µð½ºÇ÷¹ÀÌ³× À̹Ì¡Çϱâ À§ÇÑ °ÍÀÌ´Ù.
¨íÀº °¢ Çȼ¿ÀÇ »öÀ» Á¤ÀÇÇÏ´Â ´Ü°èÀÌ´Ù. ÀÌ ºÎºÐ¿¡¼´Â ½ÇÁ¦ÀÇ ¿µ»óÀÌ 1Çȼ¿¾¿ ±×·ÁÁ® °¡°Ô µÈ´Ù. ±¤¿ø 󸮿¡ ÀÇÇØ ¾î¶² »öÀÌ
µÇ´ÂÁö, ¸¸¾à ÅؽºÃ³ ¸ÅÇÎÀ» ÇÏ´Â Æú¸®°ïÀ̶ó¸é ÇØ´ç Çȼ¿Àº ÅؽºÃ³ÀÇ ¾î´À Åؼ¿¿¡ ºÙ¿©¾ß ÇÒÁö¸¦ °áÁ¤ÇÏ°Ô µÈ´Ù.
±âº»ÀûÀ¸·Î Àº¸é ó¸®
´Ü°è¿¡¼ °¡·ÁÁø Æú¸®°ïÀÇ »èÁ¦´Â ³¡³µÁö¸¸ ¸é°ú ¸éÀÌ ¼·Î °ãÃÄÁö´Â °æ¿ìµî ÀϺΠÆú¸®°ïÀº ÀÌ °úÁ¤±îÁö Á¸ÀçÇÏ°Ô µÈ´Ù. µû¶ó¼ ÀÌ·¸°Ô ³ÇØÇÑ À§Ä¡ÀÇ
Æú¸®°ï 󸮿¡¼´Â Z¹öÆÛ°¡ »ç¿ëµÈ´Ù. ·»´õ¸µ 󸮿¡¼´Â ´ÜÁö »öÀ¸·Î ±×¸®´Â °Í¸¸ÀÌ ¾Æ´Ï¶ó Çȼ¿ ´ÜÀ§·Î Ÿ´ç¼ºÀ» °è»êÇÏ¿© »öÀ» ÀÔÈ÷´Â °ÍÀÌ´Ù.
DirectX7 ½Ã´ëÀÇ Çϵå¿þ¾î
T&L
3D ±×·¡ÇÈÀÌ
Ç¥½ÃµÇ´Â ±âº» °úÁ¤Àº ÇöÀçµµ Å©°Ô ¹Ù²îÁö ¾Ê¾Ò´Ù. ±×·¯³ª Çϵå¿þ¾î ¾ÆÅ°ÅØóÀÇ º¯È´Â 1999³â¿¡ ¹ßÇ¥µÈ DirectX7¿¡ ÀÇÇؼ ÀϾ´Ù.
DirectX6ÀÌÀüÀÇ Direct3D¿¡¼ 3D ºñµð¿À ĨÀº ´Ü¼øÈ÷ ·»´õ¸µ 󸮸¸À» ´ã´çÇÏ°í ÀÖ¾ú´Ù. ´ç½ÃÀÇ ºñµð¿ÀĨµéÀº 3D
Accelerator¶ó°í ºÒ·ÈÀ¸¸ç ·»´õ¸µ ÀÛ¾÷À» ºü¸£°Ô ¼öÇàÇÏ°í Áö¿À¸ÞÆ®¸® 󸮴 CPU°¡ ´ã´çÇÏ°í ÀÖ¾ú´Ù. ÀÌ¿¡ ºñÇØ DirectX7¼¼´ëÀÇ
ºñµð¿ÀĨÀº ·»´õ¸µ ó¸®¿Í ÇÔ²² Áö¿À¸ÞÆ®¸® 󸮱îÁö ½º½º·Î ÇÒ ¼ö ÀÖ´Â ±¸Á¶·Î ¹Ù²î¾ú´Ù.
Çϵå¿þ¾î T&LÀÇ T´Â
TransformÀ¸·Î ÁÂÇ¥ º¯È¯À» ¶æÇÏ°í, LÀº LightingÀ¸·Î ±¤¿ø 󸮸¦ ¸»ÇÏ´Â °ÍÀÌ´Ù. 1Àå¿¡¼ ¾ð±ÞÇß´ø º¤ÅÍÀÇ ¿¬»ê 󸮸¦ 3Dºñµð¿À
ĨÀÌ ´ã´çÇÏ°Ô µÈ °ÍÀÌ´Ù. ¶ÇÇÑ, Çϵå¿þ¾î T&LÀº Áö±Ý±îÁö CPU°¡ ¼ÒÇÁÆ®¿þ¾î ·¹º§·Î ó¸®ÇÏ´ø °ÍÀ» Çϵå¿þ¾îÀÎ ºñµð¿À ĨÀ¸·Î ó¸®ÇÏ´Â
Àǹ̸¦ °¡Áö°í ÀÖ´Ù. ±×·¸´Ù¸é ÀÌ·¯ÇÑ ±¸Á¶ÀÇ ÀåÁ¡Àº ¹«¾ùÀΰ¡?
ÀÌ´Â ´Ü¼øÈ÷ 3D±×·¡ÇÈ Ã³¸®¿¡¼ CPU°¡ Áö¿À¸ÞÆ®¸® ¿¬»ê 󸮿¡¼
ÇعæµÈ´Ù´Â °ÍÀÌ ÃÖ´ë ÀåÁ¡ÀÌ´Ù. CPU´Â °ÔÀÓ ¿£Áø ºÎºÐ¿¡ ÁýÁßÇÒ ¼ö ÀÖ°Ô µÈ °ÍÀÌ´Ù. CPU¿Í ºñµð¿ÀĨÀÇ ¾÷¹« ºÐ»êÈ°¡ ÁøÇàµÈ ¸¸Å ¿©À¯°¡
»ý°Ü 3Dó¸® ÀÚü°¡ °¡º¿öÁø´Ù. µû¶ó¼ CPU´Â ´õ¿í °íµµÀÇ ¿¬»êÀÌ °¡´ÉÇÑ °ÍÀÌ´Ù. ·»´õ¸µ»Ó¸¸ ¾Æ´Ï¶ó Áö¿À¸ÞÆ®¸® ¿¬»êÀ» ´ã´çÇÏ°Ô µÈ ºñµð¿ÀĨÀº
´Ü¼øÇÑ Accelerator¿¡¼ CPU¿Í µ¿±ÞÀÇ GPU(Graphics Processing Unit)À¸·Î ºÒ¸®°Ô µÈ´Ù.
DirectX8¼¼´ë, ÇÁ·Î±×·¡¸Óºí ¹ß»óÀÇ
°¡´É¼º
GPU´Â DirectX8½Ã´ë¿¡ µé¾î ºñ¾àÀûÀÎ Áøȸ¦ ÀÌ·é´Ù.
Programmable Shader, Áï ÇÁ·Î±×·¡¹ÖÀÌ °¡´ÉÇÑ ½¦ÀÌ´õ¶ó´Â ¹ß»óÀ» ÇÏ°Ô µÈ °ÍÀÌ´Ù. ½¦ÀÌ´õ´Â 3D ±×·¡ÇÈ Ã³¸® Àü¹ÝÀ» °¡¸®Å°´Â
°ÍÀ¸·Î Programmable Shader´Â 3D ±×·¡ÇÈ Ç¥Çö¿¡ ÇÁ·Î±×·¡¸ÓÀÇ Ç¥Çö °¡´É¼ºÀ» Áشٴ »ý°¢¿¡¼ ½ÇÇöµÈ ±â´ÉÀÌ´Ù.
´ç½Ã±îÁö PC¿ë 3D ±×·¡ÇÈÀº Direct3D¿Í OpenGLÀ̶ó´Â ÇÔ¼ö¿¡ Á¦°øµÈ ±â´ÉÀ» ÀÌ¿ëÇÒ ¼ö ¹Û¿¡ ¾ø¾ú´Ù. »õ·Î¿î Ç¥Çö
¹æ½ÄÀ» »ý°¢Çس»µµ ÀÌ°ÍÀÌ Direct3D³ª OpenGLÀÇ Ç¥ÁØ ±â´ÉÀ¸·Î¼ Á¦°øµÇÁö ¾Ê´Â ÇÑ »ç¿ëÇÒ ¼ö ¾ø´Â »óÅ¿´´Ù.
Ãʱ⿡´Â
GPUÀÇ ¼º´É°ú ºñ¿ë¹®Á¦·Î ÀÎÇØ ÀÌ·¯ÇÑ »ý°¢Àº ½ÇÇöÀÌ ºÒ°¡´ÉÇß´Ù. GPU´Â CPU¿Í À¯»çÇÑ ±Ô¸ð¸¦ ÀÌ·ç°í ÀÖ¾î ¹æ´ëÇÑ Æ®·£Áö½ºÅÍ°¡ ÇÊ¿äÇÏ°Ô
µÇ¾ú°í, ³ôÀº Ŭ·°¿¡¼ ±¸µ¿µÇ±â ¶§¹®¿¡ °øÁ¤ÀÌ ¹Ì¼¼È µÇÁö ¾Ê´Â ÇÑ ³ôÀº ºñ¿ëÀ» °¨´çÇϱ⠾î·Á¿ü´Ù. ¶§¹®¿¡ 2000³â´ë¿¡ À̸£·¯¼¾ß ½ÇÇö
°¡´ÉÇß´ø °ÍÀÌ´Ù.
DirectX8ÀÇ Direct3D¿¡ »ç¿ëµÈ Programmable Shader´Â Programmable
Vertex Shader¿Í Programmable Pixel ShaderÀÇ µÎ °³ÀÌ´Ù.
Programmable Vertex Shader´Â Çϵå¿þ¾î
T&LÀÇ ÁøÈÇü
Çϵå¿þ¾î
T&L·Î ó¸®ÇÏ´Â ÁÂÇ¥ º¯È¯ ó¸®¿Í ±¤¿ø 󸮴 ÀÌ¹Ì °áÁ¤µÈ ¿¬»êÀ» ¼öÇàÇÏ°Ô µÈ´Ù. ÀÌ·¯ÇÑ º¯È¯ 󸮿¡ ÇÁ·Î±×·¡¸Ó°¡ ¼öÁ¤À» °¡ÇÒ ¼ö ÀÖ´Â
±¸Á¶°¡ Programmable Vertex ShaderÀÌ´Ù. ´Ü¼øÈ÷ °áÁ¤µÇ¾î ÀÖ´Â º¤ÅÍ ¿¬»ê»Ó¸¸ ¾Æ´Ï¶ó Á»´õ °íµµÀÇ ¼ÒÇÁÆ®¿þ¾î 󸮸¦ GPU°¡
¼öÇàÇϵµ·Ï ÇÏ´Â ¹ß»óÀÌ´Ù.
¿¹¸¦ µé¾î 3Dij¸¯ÅÍÀÇ ÆÈÀÇ °üÀýÀ» ±ÁÈú ¶§ ´ÜÁö ±ÁÈ÷±â¸¸ ÇÑ´Ù¸é Æú¸®°ï¿¡ ½ÅÃ༺ÀÌ °á¿©µÇ¾î °üÀýºÎ±Ù
Æú¸®°ïÀÌ À̰ݵǴ Çö»óÀÌ ¹ß»ýÇÑ´Ù. ÀÌ·¯ÇÑ Çö»óÀ» ÇÇÇϱâ À§ÇØ 3D ij¸¯ÅÍÀÇ »À¸¦ ±¸¼ºÇÏ°í ¿ÜÇÇÀÇ Æú¸®°ïÀº »ÀÀÇ µ¹±â¸¦ µû¶ó ÀÚ¿¬½º·´°Ô
½ÅÃàµÇµµ·Ï ÇÏ´Â ±¸Á¶°¡ °ÇÀǵǾú´Ù. ÀÌ°ÍÀÌ º»½ºÅ°´× 󸮶ó°í ÇÏ´Â °ÍÀ¸·Î Çϵå¿þ¾î T&L¸¸À» °¡Áö°í ÀÖ´Â DirectX7¼¼´ë GPU¿¡¼´Â
󸮰¡ º¹ÀâÇÏ°í, ÀϺΠ󸮴 CPU¿¡ ÀÇÁ¸ÇÏ°í ÀÖ¾ú´Ù. ±×·¯³ª Programmable Vertex Shader¸¦ »ç¿ëÇϸé GPU µ¶ÀÚÀû 󸮰¡
°¡´ÉÇÏ°Ô µÈ´Ù. ¶ÇÇÑ Programmable Vertex Shader´Â Á¤Á¡ ÁÂÇ¥ÀÇ ¿¬»ê¸¸ÀÌ ¾Æ´Ï¶ó ±¤¿ø 󸮿¡ À־µ È°¿ë °¡´É¼ºÀÌ
³Ð¾îÁø´Ù.
¾Õ¼ ¼³¸íÇßµíÀÌ ±¤¿ø󸮴 3°³ÀÇ º¤Å͸¦ ÅëÇØ °è»êµÈ´Ù. ±×·¯³ª Programmable Vertex Shader¸¦
»ç¿ëÇÑ ±¤¿ø󸮿¡¼´Â ±¤¿ø 󸮿¡ ¸î °¡Áö Á¶°ÇÀ» ¼³Á¤ÇÏ¿© ±¤¿ø ó¸® ¿©ºÎ¸¦ °áÁ¤ÇÒ ¼ö ÀÖ´Ù. ÇÑ ¿¹·Î 'À̹漺 ¶óÀÌÆÃ'À̶ó ºÒ¸®´Â ±â¼ú·Î
Ư¼öÇÑ ±Ý¼ÓÀ̳ª ¸Ó¸®Ä«¶ô µîÀÇ Ç¥Çö¿¡ »ç¿ëµÇ´Â ±â´ÉÀÌ´Ù.
Programmable Pixel Shader´Â ÅؽºÃ³ÀÇ
¼öÇÐÈ...
Programmable Pixel Shader´Â ·»´õ¸µ ó¸® ºÎºÐÀ» ÇÁ·Î±×·¥ ÇÒ ¼ö ÀÖµµ·Ï È®ÀåÇÑ °ÍÀÌ´Ù.
DirectX7ÀÌÀü ¼¼´ë¿¡¼ ·»´õ¸µ 󸮶ó´Â °ÍÀº ±âº»ÀûÀ¸·Î º¤ÅÍ µ¥ÀÌÅÍ(Á÷¼±°ú Á¡À¸·Î ±¸¼ºµÈ µ¥ÀÌÅÍ)ÀÎ Æú¸®°ïÀ» ºñÆ®¸ÊÀ¸·Î º¯È¯ÇØ
ÅؽºÃ³ 󸮸¦ ÇÏ´Â ¹æ½Ä»ÓÀ̾ú´Ù. Programmable Pixel Shader´Â ÀÌ °øÁ¤¿¡ º¸´Ù º¹ÀâÇÑ Á¶°ÇÀ» ºÎ¿©ÇØ °íµµÀÇ ¿¬»ê 󸮸¦
°¡´ÉÇÏ°Ô ÇÏ´Â ±¸Á¶¸¦ Á¦°øÇÏ´Â ±¸Á¶ÀÌ´Ù.
3D±×·¡ÇÈ Ç¥Çö ¹æ½ÄÁß ¹üÇÁ¸ÅÇÎÀ̶ó´Â °ÍÀÌ ÀÖ´Ù. ÀÌ´Â Æú¸®°ïÀÇ Áú°¨À» Ç¥ÇöÇÒ ¼ö ÀÖ´Â
ÅؽºÃ³¸¦ ºÙÀÌ´Â ±â´ÉÀÌ´Ù. DirectX7 ÀÌÀüÀÇ ¹üÇÁ ¸ÅÇÎÀº ºñµð¿ÀĨ¿¡¼ Çϵå¿þ¾îÀûÀ¸·Î Áö¿øÇÏÁö ¾ÊÀ¸¸é »ç¿ëÇÒ ¼ö ¾ø´Â Ç¥Çö¹æ½Ä À̾ú´Ù.
Programmable Pixel Shader´Â Çϵå¿þ¾î T&Ló·³ °íÁ¤µÈ Çϵå¿þ¾î ±â´ÉÀÌ ¾ø¾îµµ ÇÁ·Î±×·¥À¸·Î ¸¸µé¾î
»ç¿ëÇÒ ¼ö ÀÖ´Â °ÍÀÌ´Ù. ´õ¿í ¹ßÀüµÈ ¿¹·Î¼ Environmjnet ¸ÅÇΰú ¹üÇÁ ¸ÅÇÎÀ» µ¿½Ã¿¡ Àû¿ëÇÏ´Â environment ¹üÇÁ ¸ÅÇÎÀ»
Áö¿øÇÏ´Â GPU´Â ÇöÀçµµ ±×¸® ¸¹Áö ¾ÊÁö¸¸, Programmable Pixel Shader¸¦ È°¿ëÇÏ¸é ¸ðµÎ Áö¿ø °¡´ÉÇϱ⠶§¹®¿¡ Å©°Ô ¹®Á¦°¡
µÇÁö ¾Ê´Â´Ù. ¶ÇÇÑ ¾ÕÀ¸·Î µîÀåÇÒ »õ·Î¿î ±â´Éµéµµ ÇÁ·Î±×·¥À¸·Î ±¸¼º °¡´ÉÇÏ´Ù°í »ý°¢ÇÒ ¶§ ±× È°¿ë¹æ¾ÈÀº ¹«ÇÑÈ÷ È®ÀåµÇ°Ô µÇ´Â °ÍÀÌ´Ù. ¹°·Ð
¾ÕÀ¸·Î´Â °íÁ¤µÈ ±â´ÉÀ¸·Î environment ¸ÅÇÎÀ» Áö¿øÇÏ´Â GPU´Â ¿µ¿øÈ÷ ³ª¿ÀÁö ¾ÊÀ» °ÍÀÌ´Ù.
¹«¾ùº¸´Ùµµ
Programmable Pixel ShaderÀÇ °¡Àå Å« Ư¡Àº ÅؽºÃ³¸¦ ¼öÇÐÀûÀ¸·Î Ç¥ÇöÇÏ´Â ±â´ÉÀÌ´Ù. DirectX7 ÀÌÀüÀÇ ·»´õ¸µ 󸮿¡¼
ÅؽºÃ³¶õ ȸéÀÇ ÀϺημ À̸¦ Æú¸®°ï¿¡ ºÙ¿©¾ß¸¸ °¡Ä¡°¡ ÀÖ´Â °ÍÀ̾ú´Ù. Programmable Pixel Shader´Â ÀÌ·¯ÇÑ °íÁ¤°³³äÀ» ¿ÏÀüÈ÷
³¯·Á¹ö¸®¸ç ¼öÇÐÀû, ¶Ç´Â ¹°¸®Àû Àǹ̸¦ °¡Áø ¼öÄ¡¸¦ ³ÖÀº ÅؽºÃ³¿Í ´Ù¸¥ ÅؽºÃ³¿¡ Æ÷ÇÔµÈ ¼öÄ¡¸¦ º¤ÅÍ ¿¬»êÀ» Çϰųª, ±× ¼öÄ¡¸¦ ±âÃÊ·Î ´Ù¸¥
ÅؽºÃ³ °ª¿¡ ¿µÇâÀ» ¹ÌÄ¥ ¼ö ÀÖ°Ô µÇ¾ú´Ù.
¹üÇÁ ¸ÅÇÎÀ» ÅëÇØ ¾Ë¾Æº¸´Â Programmable Pixel
Shader
¾Õ¿¡¼ ¼³¸íÇÑ
ÅؽºÃ³ÀÇ ¼öÇÐÀû Ç¥Çö¿¡ ´ëÇØ ¹üÇÁ ¸ÅÇÎÀ» ¿¹·Î µé¾î ÀÚ¼¼È÷ ¾Ë¾Æº¸ÀÚ.
¹üÇÁ ¸ÅÇο¡ ÇÊ¿äÇÑ °ÍÀº Áú°¨À» Ç¥ÇöÇÒ ¼ö ÀÖ´Â ÅؽºÃ³ÀÌ´Ù. ÀÌ°ÍÀº
ÇÏÀÌÆ®¸ÊÀ̶ó ºÒ¸®¸ç ÀϹÝÀûÀ¸·Î ³ôÀº °÷Àº º¸´Ù ¹à°í, ³·Àº °÷Àº º¸´Ù ¾îµÓ°Ô Ç¥ÇöÇÔÀ¸·Î¼ »ç¹°ÀÇ ±¼°îÀ» ³ªÅ¸³»°í À̸¦ ÅëÇØ ¹°Ã¼ÀÇ Áú°¨À» Ç¥ÇöÇÒ
¼ö ÀÖ´Ù.
±×·¯³ª ÇÏÀÌÆ®¸ÊÀ» ºÙÀÌ´Â °Í¸¸À¸·Î´Â ¼Ò¿ëÀÌ ¾øÀ¸¸ç ÀÌ ÇÏÀÌÆ®¸ÊÀ» ±¸¼ºÇÏ´Â ³ó´ã¸é¿¡ À§Ä¡ÇÑ ¹ý¼± º¤Å͸¦ °è»êÇÏ°í, ±× ¹ý¼±º¤Å͸¦
ÅؽºÃÄ¿¡ Æ÷ÇÔ½Ãų ÇÊ¿ä°¡ ÀÖ´Ù.
ÅؽºÃ³´Â Åؼ¿ÀÇ ¸ðÀÓÀ¸·Î ÀÌ·ç¾îÁ® ÀÖÀ¸¸ç °¢ Åؼ¿Àº RGBÀÇ »ö ä³Î·Î ±¸¼ºµÇ¾î ÀÖ´Ù. ¿¹¸¦ µé¾î
32ºñÆ® Ä÷¯ÀÇ °æ¿ì RGB°¡ °¢ 8ºñÆ®·Î ÀÌ·ç¾îÁ® ÀÖ´Ù. ±×¸®°í º¤ÅÍ´Â X, Y, ZÀÇ ¼öÄ¡·Î Ç¥ÇöµÈ´Ù´Â °ÍÀº ÀÌ¹Ì À̾߱âÇß¾ú´Ù. ±×·¯³ª
º¤Å͸¦ Ç¥ÇöÇÏ´Â X, Y, ZÀÇ ¼¼ °³ ¼öÄ¡¸¦ ÅؽºÃ³ÀÇ RGB¿¡ ³Ö¾î¾ß ÇÑ´Ù. ÀÌ·¯ÇÑ ¹ý¼± º¤Å͸¦ ÅؽºÃ³¿¡ Æ÷ÇÔÇÏ´Â °ÍÀº Ưº°È÷ ¹ý¼±¸ÊÀ̶ó
ÇÑ´Ù.
DirectX7 ÀÌÀü¿¡´Â ÅؽºÃ³¸¦ ºÙÀ̱⸸ ÇÒ »ÓÀ̾ú´Ù. ÇÏÁö¸¸ Áö±ÝÀÇ ÅؽºÃ³´Â ¹ý¼±º¤ÅÍ°¡ µé¾îÀÖ¾î ±×´ë·Î Æú¸®°ï¿¡ ºÙÀÏ
¼ö´Â ¾ø´Ù. ¿©±â¼ Çȼ¿ ½¦ÀÌ´õ°¡ »ç¿ëµÇ´Â °ÍÀÌ´Ù.
Çȼ¿À» ·»´õ¸µÇÒ ¶§ ÀÌ ¹ý¼±¸Ê³×¼ ÇϳªÀÇ ¹ý¼®º¤Å͸¦ ÃëÇÑ´Ù. Programmable
Pixel Shader´Â ÃëµæÇÑ ¹ý¼± º¤Å͸¦ ÀÌÀü Æú¸®°ïÀÇ ¹ý¼±º¤ÅÍ, ½ÃÁ¡À¸·ÎºÎÅÍÀÇ ½Ã¼±º¤ÅÍ, ±¤¿øº¤ÅÍ µîÀ¸·ÎºÎÅÍ ÃÖÁ¾ÀûÀÎ ±¤¿ø 󸮸¦ °è»êÇÏ°Ô
µÈ´Ù.
°á°ú¹°ÀÇ Æú¸®°ïÀº Æò¸é ±×´ë·ÎÀÌÁö¸¸ ±×°÷¿¡´Â ±¼°îÀÌ ÀÖ´Â °Íó·³ ±¤¿ø 󸮰¡ µÇ¾îÀֱ⠶§¹®¿¡ ´Ü¼øÇÑ Æò¸éÀÌ ¾Æ´Ñ Áú°¨À»
°¡Áø Æò¸éÀÌ µÇ´Â °ÍÀÌ´Ù. ÀÌ·¯ÇÑ ¹æ½ÄÀº ȯ°æ ¸ÅÇο¡¼µµ À¯»çÇÏ°Ô Àû¿ëµÈ´Ù.
Programmable Pixel Shader´Â
ÅؽºÃ³¸¦ °¡°øÇØ ´ÙÀ½ ·»´õ¸µ ½Ã¿¡ »ç¿ëÇÏ´Â ±¸Á¶¸¦ °¡Áö°í ÀÖ¾î ÇÏÀÌÆ®¸Ê°¡ ¹ý¼±¸ÊÀÇ °¡°øÀ» ¹°¸®ÀûÀÎ ÇüÅ·ΠǥÇöÇÏ´Â °Íµµ °¡´ÉÇÑ °ÍÀÌ´Ù.
¶ÇÇÑ Programmable Pixel Shader´Â ·»´õ¸µÀÇ ÃÖÁ¾ °øÁ¤¿¡ À§Ä¡ÇÏ°í ÀÖÀ¸¸ç, ÅؽºÃ³ÀÇ ÂüÁ¶, ½ÇÁ¦ À̹ÌÁö 󸮵îÀº
ºñµð¿À ¸Þ¸ð¸®¸¦ Á÷Á¢ Á¶ÀÛÇØ¾ß ÇÏ´Â ÀÛ¾÷À̱⠶§¹®¿¡ CPU¿¡¹Ä·¹À̼ÇÀ¸·Î´Â ºÒ°¡´ÉÇÑ ÀÛ¾÷ÀÌ´Ù. °á±¹ ¾Æ¹«¸® ºü¸¥ CPU°¡ ÀÖ´ÙÇصµ
Programmable Pixel Shader°¡ ¾øÀ¸¸é ºÒ°¡´ÉÇÑ Ç¥ÇöÀÎ °ÍÀÌ´Ù.
2000³â¿¡ ¹ßÇ¥µÈ DirectX8.0Àº 2001³â¿¡ DirectX8.1·Î
¾÷±×·¹À̵åµÇ¾ú´Ù. DirectX8.1ÀÇ Direct3D´Â ±âº»ÀûÀ¸·Î Programmable ShaderÀÇ ¸¶ÀÌ³Ê ¾÷±×·¹À̵åÀÌ´Ù. 2002³â
Á߹ݺÎÅÍ ¹ß¸ÅµÈ °ÔÀÓµéÀº Programmable Shader, ƯÈ÷ CPU¿¡¹Ä·¹À̼ÇÀÌ °¡´ÉÇÑ Vertex Shader¸¦ Áö¿øÇÏ´Â °ÍÀÌ ¸¹¾Ò´Ù.
ÃÖ±Ù¿¡´Â Programmable Shader¸¦ Áö¿øÇÏ´Â GPU°¡ ¸¹¾ÆÁö°í ³ëÆ®ºÏ¿ë GPU¿¡¼µµ Programmable Shader¸¦ Áö¿øÇÏ´Â
°ÍÀÌ ´ç¿¬ÇØ Á³´Ù Programmable Shader¸¦ ÁöÇâÇÏ´Â GPUÀÇ ¹ßÀüÀº ¾ÕÀ¸·Îµµ °è¼ÓµÉ °ÍÀ̸ç À̸¦ À̾°¡´Â °ÍÀÌ ¾ÕÀ¸·Î µîÀåÇÏ°Ô µÉ
DirectX9ÀÌ´Ù.