cglandlogo First Page
°í°´¼¾ÅÍ   
gallery media job community contentsmall  
  dbrush Blizzardfest 2014
 
[Ž¹æ]±×·¡ÇȽº¸¦ À§ÇÑ C ¾ð¾î, £¢Cg£¢   2002-06-18
½Ç½Ã°£ ±×·¡ÇȽº¿¡ ÀÏ´ë º¯ÇõÀ» °¡Á®´Ù ÁÙ Cg ÇÁ·Î±×·¡¹Ö ¾ð¾î¸¦ ¸¸³ªº¸ÀÚ.
¾¾Áö·£µå±âÀÚ cgland@cgland.com
¨Ï µðÁöÅк귯½Ã & cgland.com, ¹«´Ü ÀüÀç ¹× Àç¹èÆ÷ ±ÝÁö
°Ô½Ã±ÛÀ» twitter·Î º¸³»±â °Ô½Ã±ÛÀ» facebookÀ¸·Î º¸³»±â °Ô½Ã±ÛÀ» Me2Day·Î º¸³»±â

±×·¡ÇȽº¸¦ À§ÇÑ C¶õ °ú¿¬ ¹«¾ùÀϱî?

´ëüÀûÀ¸·Î, ¿À´Ã³¯ÀÇ ¼ÒÇÁÆ®¿þ¾î´Â "C"³ª "C++"·Î ºÒ·ÁÁö´Â ÇÁ·Î±×·¡¹Ö ¾ð¾î·Î °³¹ßµÈ´Ù. ÇÏÁö¸¸ º¹ÀâÇÑ ½Ã°¢Àû È¿°ú¸¦ ¾ò°íÀÚ ÇÒ ¶§ ¿©ÀüÈ÷ °³¹ßÀÚ´Â »ó´çÈ÷ Á¦ÇÑÀûÀÎ ¾ð¾îÀÎ ¾î¼Àºí¸® ¾ð¾î¸¦ »ç¿ëÇÒ ¼ö¹Û¿¡ ¾ø´Ù. Cg ÇÁ·Î±×·¡¹Ö ¾ð¾î — ±×·¡ÇȽº Àü¿ë C ¾ð¾î — ´Â °³¹ßÀÚ¿¡°Ô, µ¥½ºÅ©Å¾¿¡¼­ ½Ç½Ã°£ÀÇ °íÈ­Áú ±×·¡ÇȽº¸¦ °æÇèÇÒ ¼ö ÀÖ°Ô ÇØÁִ Ư¼öÈ¿°ú ÇÁ·Î±×·¡¹ÖÀ» ½±°í ºü¸£°Ô ÇÒ ¼ö ÀÖµµ·Ï ¹æÇâÀ» Á¦½ÃÇÑ´Ù. ÇÁ·Î±×·¥Àº ´õ ÀÌ»ó ±×·¡ÇȽº Çϵå¿þ¾î¿¡ Á÷Á¢ÀûÀ¸·Î ÄÚµùµÉ ÇÊ¿ä°¡ ¾ø°Ô µÇ¾ú°í, ¶Ù¾î³­ ½Ç½Ã°£ ½¦ÀÌ´õ(shaders)¿Í DiretX¢ç, OpenGL¢ç ȯ°æÀ» À§ÇÑ ½Ã°¢Àû È¿°úÀÇ ¹ßÀüÀº °¡¼ÓÈ­ µÇ¾î°¡°í ÀÖ´Ù.


CgÀÇ ÀåÁ¡

Cg´Â ±×·¡ÇȽº È¿°úÀÇ °³¹ßÀ» ¿ëÀÌÇÏ°Ô ÇÒ »Ó¸¸ ¾Æ´Ï¶ó ±Ã±ØÀûÀ¸·Î´Â °í°´À» À§ÇÑ °íÈ¿À²ÀûÀÌ°í Àå±â°£ °¡Ä¡¸¦ À¯ÁöÇÒ ¼ö ÀÖ´Â ¾ÖÇø®ÄÉÀ̼ÇÀ» Á¦°øÇϱ⠶§¹®¿¡, °í±Þ ±×·¡ÇȽº ¾ð¾î·Î¼­ »ó´çÇÑ È£¼Ò·ÂÀ» Áö´Ï°í ÀÖ´Ù. °Ô´Ù°¡ Cg¸¦ »ç¿ëÇÔ¿¡ µû¶ó, ÇÁ·Î±×·¡¸Ó´Â »ý»ê¼ºÀ» º¸´Ù Áõ°¡½ÃÅ°°í Çö¶õÇÑ ±×·¡ÇÈÀ¸·Î ÀÌ·ç¾îÁø °ÔÀÓÀÇ °³¹ß ½Ã°£À» ´ÜÃàÇÒ ¼ö ÀÖ°Ô µÇ¾ú´Ù.

(Cg ½¦ÀÌ´õ·Î ³ªÅ¸³¾ ¼ö ÀÖ´Â È¿°ú¸¦ º¸·Á¸é À̹ÌÁö¸¦ Ŭ¸¯Çϼ¼¿ä.)

  • Æø³ÐÀº ÁöÁö: ÀÌ¹Ì ¼ö¹é¸¸ÀÇ °³¹ßÀÚµéÀÌ Cg ¾ð¾î¿¡ ´ëÇÑ Á¤º¸¸¦ °øÀ¯ÇÏ°í ÀÖÀ¸¸ç Cg ½¦ÀÌ´õ¸¦ ÇÁ·Î±×·¡¹ÖÇÒ ¼ö ÀÖµµ·Ï ±³À°¹Þ¾Ò´Ù. Ç渮¿ìµåÀÇ ½Ã°¢ È¿°ú °ü·Ã »ê¾÷¿¡ ÅõÀÚÇÏ°í ÀÖ´Â ¿ÀÇÁ¶óÀÎ ·»´õ¸µ ȸ»çµéÀº NVIDIAÀÇ Cg ÄÄÆÄÀÏ·¯¸¦ ÇâÈÄ ÀÚ»çÀÇ Á¦Ç°¿¡ ÅëÇÕÇÒ °ÍÀ̶ó ÇÑ´Ù. ÇÑÆí DCC ¾ÖÇø®ÄÉÀ̼ǵéÀº µðÁöÅÐ ¾ÆƼ½ºÆ®ÀÇ ÀÛ¾÷ ¿µ¿ª¿¡ Cg¸¦ Æ÷ÇÔ½Ãų °ÍÀ̸ç, ÇÁ·Î±×·¡¹Ö ´É·ÂÀ» °®ÃßÁö ¸øÇÑ »ç¶÷µé¿¡°Ôµµ ½¦ÀÌ´õ ±â¼úÀÌ º¸´Ù Ä£¼÷ÇÏ°í ½±°Ô ´Ù°¡°¥ ¼ö ÀÖ°Ô²û À¯µµÇÒ °ÍÀÌ´Ù.
  • ³ôÀº È¿À²¼º°ú ¿µ±¸¼ºÀ» °®Ãá, °í°´À» À§ÇÑ ¾ÖÇø®ÄÉÀ̼Ç: Cg ½¦ÀÌ´õ¸¦ »ç¿ëÇÏ´Â °ÔÀÓÀº ¼ÒÇÁÆ®¿þ¾î¸¦ ¸®ÄÄÆÄÀϸµÇϰųª ¾÷±×·¹À̵åÇÏÁö ¾Ê°í¼­µµ, Çϵå¿þ¾î¸¦ È°¿ëÇÏ°í »õ·Î¿î GPUÀÇ Æ¯Â¡À» »ì¸®´Â ÀÌÁ¡À» ¾òÀ» ¼ö ÀÖ´Ù. µû¶ó¼­ °ÔÀÓ ¼ÒÇÁÆ®¿þ¾î´Â Ź¿ùÇÑ ½ÇÇà´É·ÂÀ» °®Ãß°Ô µÇ¸ç, Çϵå¿þ¾îÀÇ ¾÷±×·¹À̵尡 °ð ¼ÒÇÁÆ®¿þ¾îÀÇ ¼º´ÉÇâ»óÀ¸·Î À̾îÁø´Ù.
  • ÇÁ·Î±×·¡¸ÓÀÇ »ý»ê¼º Áõ°¡: Àå±âÀûÀ¸·Î º¼ ¶§, Cg¿Í °°Àº °í±Þ ¾ð¾îÀÇ »ç¿ëÀº ±³À°À» À§ÇØ ¼Ò¿äµÇ´Â ½Ã°£À» ´ÜÃà½ÃŲ´Ù. ÇÁ·Î±×·¡¸Ó´Â ´õ ÀÌ»ó ¸ðµç Ç÷§Æû°ú API¿¡ ´ëÇÑ Áö½ÄÀ» °®Ãß±â À§ÇØ ¾Ö¾²Áö ¾Ê¾Æµµ µÈ´Ù.
  • ´õ ¸¹¾ÆÁø È¿°ú, ´õ ª¾ÆÁø °³¹ß ½Ã°£: Cg´Â °³¹ßÀÚ·Î ÇÏ¿©±Ý ¾öû³­ ¼öÀÇ ½¦ÀÌ´õ¸¦ ºü¸£°Ô °³¹ßÇÏ°í ÅëÇÕÇÒ ¼ö ÀÖ°Ô²û ÇØÁØ´Ù. °Ô´Ù°¡ Çѹø °³¹ßµÈ È¿°ú(effects)´Â ´Ù¾çÇÑ API¿Í Ç÷§Æû(PC¿¡¸¸ ÇÑÁ¤µÇÁö´Â ¾ÊÀ½)¿¡ ¸Â°Ô ÄÄÆÄÀ쵃 ¼ö ÀÖ´Ù. ÀÌ´Â °ð °ÔÀÓ °³¹ßÀÚÀÇ ¿µ¿ªÀÌ ¸ðµç ½ÃÀåÀ¸·Î È®ÀåµÉ ¼ö ÀÖÀ½À» ÀǹÌÇÑ´Ù.

Cg¸¦ ÅëÇØ ½Ç½Ã°£ ·»´õ¸µ ·¹º§°ú ¿µÈ­ ±×·¡ÇȽº ·¹º§ÀÇ ¼ö·ÅÀÌ °¡¼ÓÈ­µÇ°í ÀÖ´Ù:


NVIDIAÀÇ Cg ÄÄÆÄÀÏ·¯¿Í ÅøŶ

¿À´Ã³¯ÀÇ ½Ç½Ã°£ ±×·¡ÇȽº °³¹ßÀÚ¿¡°Ô º¸´Ù ¸¹Àº ¼±ÅñÇÀ» ÁÖ±â À§ÇØ, NVIDIA´Â ÇÁ·Î±×·¡¹ÖÇϱ⿡ ¼ö¿ùÇÑ °í±Þ ¾ð¾î ±¸¹®À» Æ÷ÇÔÇÑ ±×·¡ÇȽº ÇÁ·Î±×·¡¹Ö ¿É¼ÇÀ» È®ÀåÇÏ¿´´Ù. NVIDIAÀÇ Cg ÄÄÆÄÀÏ·¯¿Í ÅøŶÀº °³¹ßÀÚ·Î ÇÏ¿©±Ý ³»ÀçµÈ ÃÖÀûÈ­¸¦ ²ø¾î ¿Ã¸®°í ÇÁ·Î±×·¡¹Ö È¿À²¼ºÀ» º¸´Ù Çâ»ó½Ãų ¼ö ÀÖ°Ô Çϸç, Çö¶õÇÑ ½Ã°¢ È¿°ú¸¦ À§ÇÑ ½Ç½Ã°£ Çȼ¿ ±×¸®°í ¹öÅؽº(vertex) ½¦ÀÌ´õ¸¦ ºü¸¥ ½Ã°£ ³»¿¡ °³¹ßÇÒ ¼ö ÀÖ°Ô ÇØÁØ´Ù.

»õ·Î¿î »ê¾÷ Ç¥ÁØÀÎ Cg ¾ð¾î ±â¹ÝÀÇ NVIDIA Cg ÅøŶÀº ÄÄÇ»ÅÍ·Î »ý¼ºµÇ´Â ±×·¡ÇȽº È¿°ú¿¡ ´ëº¯ÇõÀ» ÀÏÀ¸Å³ °ÍÀÌ¸ç ±ØÀ念ȭÀÇ Çö½Ç°¨À» µ¥½ºÅ©Å¾¿¡ ±¸ÇöÇÒ ¼ö ÀÖ°Ô ÇØÁÙ °ÍÀÌ´Ù. »õ·Î¿î °í±Þ ÇÁ·Î±×·¡¹Ö ¾ð¾î Cg´Â »ê¾÷°è Àü¹Ý¿¡ °ÉÃÄ ÀÌÀÍÀ» °¡Á®´Ù ÁÙ °ÍÀÌ´Ù:

  • »ç¿ëÀÚ´Â Áõ°¡µÈ Çö½Ç°¨, ¶Ù¾î³­ ½Ã°¢ È¿°ú, ±×¸®°í º¸´Ù À¯¿¬ÇÑ GUI¸¦ ¾ò°Ô µÈ´Ù.
  • ÇÁ·Î±×·¡¸Ó´Â º¹ÀâÇÑ È¿°ú¸¦ °³¹ßÇϴµ¥ ÀÖ¾î »ó´çÇÑ ½Ã°£À» Àý¾àÇÒ ¼ö ÀÖ°Ô µÈ´Ù.
  • µðÁöÅÐ Ä­ÅÙÆ®¸¦ âÃâÇÏ´Â »ç¶÷ ¹× ¿¹¼ú°¡µéÀº GPU ±â¼ú¿¡ º¸´Ù ½±°Ô Á¢±ÙÇÒ ¼ö ÀÖ°Ô µÈ´Ù.
  • ¾ÖÇø®ÄÉÀÌ¼Ç À¯Åë¾÷°è´Â ½ÃÀåÀ¸·ÎÀÇ ºü¸¥ ÃâÇÏ¿Í ±× Ưº°ÇÔ¿¡ ±àÁ¤ÀûÀÎ ¹ÝÀÀÀ» º¸ÀÏ °ÍÀÌ´Ù.
  • ±×·¡ÇȽº Çϵå¿þ¾î´Â º¸´Ù Á÷Á¢ÀûÀ¸·Î ¼ÒÇÁÆ®¿þ¾îÀÇ ½ÇÇà´É·ÂÀ» Çâ»ó½Ãų °ÍÀÌ´Ù.

°³¹ßÀÚµéÀº ÀÌÁ¦, ÄÄÆÄÀÏ·¯ ±â¼ú»Ó¸¸ ¾Æ´Ï¶ó Cg ½¦ÀÌ´õ¸¦ ´É·üÀûÀ¸·Î °³¹ßÇÒ ¶§ À¯¿ëÇÑ ¿©·¯ µµ±¸µéµµ È°¿ëÇÏ°Ô²û ÇØÁÖ´Â ¿Ïº®ÇÑ NVIDIA Cg ÅøŶÀ» ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù.

°³¹ßÇÒ ¾ÖÇø®ÄÉÀ̼ÇÀÌ ´õ ¸¹¾ÆÁú¼ö·Ï Cg´Â º¸´Ù ¸¹Àº ½Ã°£ÀÇ Àý¾àÀ» °¡´ÉÇÏ°Ô ÇÑ´Ù:

ÇöÀç ÅøŶÀÌ Æ÷ÇÔÇÏ°í ÀÖ´Â ³»¿ëÀº ´ÙÀ½°ú °°´Ù:

  • DirectX 8 ¹öÅؽº ±×¸®°í Çȼ¿ ½¦ÀÌ´õ ±×¸®°í OpenGL 1.3 (NV_vertex_program Æ÷ÇÔ) À» Áö¿øÇϴ  NVIDIA Cg ÄÄÆÄÀÏ·¯ º£Å¸ 1.0

  • NVIDIA Cg Ç¥ÁØ ¶óÀ̺귯¸®

  • DirectX¿Í OpenGLÀ» À§ÇÑ NVIDIA Cg ·±Å¸ÀÓ ¶óÀ̺귯¸®

  • ´Ù¼öÀÇ »ùÇà ½¦ÀÌ´õ°¡ ÀÖ´Â NVIDIA Cg ºê¶ó¿ìÀú 4.0

  • Cg ¾ð¾î ½ºÆå(specification)

  • Cg »ç¿ëÀÚ ¸Å´º¾ó

NVIDIAÀÇ Â÷±â Cg ÄÄÆÄÀÏ·¯´Â DirectX¿Í OpenGLÀÇ ´ÙÀ½ ¹öÀüÀ» Áö¿øÇÒ °ÍÀ̸ç ÃֽŠNVIDIA GPU ¾ÆÅ°ÅØÃĸ¦ À§ÇÑ ÃÖÀûÈ­ ±â´ÉÀ» Æ÷ÇÔÇÒ ¿¹Á¤ÀÌ´Ù.

¡Ø NVIDIA Cg ¼Ö·ç¼Ç¿¡ ´ëÇÑ º¸´Ù ÀÚ¼¼ÇÑ Á¤º¸¸¦ ¾òÀ¸·Á¸é NVIDIAÀÇ °³¹ßÀÚ °ü·Ã À¥»çÀÌÆ®, http://developer.nvidia.comÀ» ¹æ¹®ÇϽʽÿÀ.

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