cglandlogo First Page
°í°´¼¾ÅÍ   
gallery media job community contentsmall  
  dbrush Blizzardfest 2014
 
[¸®Æ÷Æ®]±×·¡ÇÈ Ä«µåÀÇ ÀÌÇØ- 3DÀÇ ±¸¼º ¿ø¸®   2002-12-21
Hardware Specialist Group HWLAB¿¡ ±×·¡ÇÈ Ä«µåÀÇ ÀÌÇØ¿Í 3DÀÇ ±¸¼º ¿ø¸®¿¡ °üÇÑ ±ÛÀÌ ÀÖ¾î ¿Å±é´Ï´Ù. 3D ±×·¡ÇÈ ±¸ÇöÀÇ ±âÃÊ¿¡ Á¢±ÙÇÒ ¼ö ÀÖ´Â ÁÁÀº ±ÛÀ̶ó »ý°¢ µË´Ï´Ù.
¾¾Áö·£µå±âÀÚ cgland@cgland.com
¨Ï µðÁöÅк귯½Ã & cgland.com, ¹«´Ü ÀüÀç ¹× Àç¹èÆ÷ ±ÝÁö
°Ô½Ã±ÛÀ» twitter·Î º¸³»±â °Ô½Ã±ÛÀ» facebookÀ¸·Î º¸³»±â °Ô½Ã±ÛÀ» Me2Day·Î º¸³»±â

°ÔÀÓ ¿£ÁøÀ̶õ ¹«¾ùÀΰ¡?

ÇöÀçÀÇ 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ÀÌ´Ù.

 

 
½ºÆ©µð¿À ¿¬°á²÷±â