cglandlogo First Page
°í°´¼¾ÅÍ   
gallery media job community contentsmall  
  dbrush Blizzardfest 2014
 
[Á¦Ç°¼Ò°³]Genetic Shader Á¦ÀÛ¿£Áø Genshade   2002-02-19
GenShade´Â PixarÀÇ RenderMan ³ª Side EffectsÀÇ Houdini °°Àº Æ÷Å丮¾ó¸®½ºÆ½ ·»´õ¸µ ¼ÒÇÁÆ®¿þ¾î¸¦ À§ÇÑ »ç¿ëÀÚµéÀÇ ´Ù¾çÇÑ shaderµé Á¦ÀÛÀ» À§ÇÑ ÀÎÅÍ·¢Æ¼ºêÇÑ ¼ÒÇÁÆ®¿þ¾îÀÌ´Ù.
ÁÖÀÚ´ö±âÀÚ spitz70@cgland.com
¨Ï µðÁöÅк귯½Ã & cgland.com, ¹«´Ü ÀüÀç ¹× Àç¹èÆ÷ ±ÝÁö
°Ô½Ã±ÛÀ» twitter·Î º¸³»±â °Ô½Ã±ÛÀ» facebookÀ¸·Î º¸³»±â °Ô½Ã±ÛÀ» Me2Day·Î º¸³»±â

¡Ø ´ÙÀ½³»¿ëÀº death fall¿¡¼­ ¼Ò°³µÈ Genshade¿¡ ´ëÇÑ ±ÛÀ» ¹ø¿ªÇÒ ±ÛÀÓÀ» ¹àÈù´Ù.

GenShade ´Â PixarÀÇ RenderMan ³ª Side EffectsÀÇ Houdini °°Àº Æ÷Å丮¾ó¸®½ºÆ½ ·»´õ¸µ ¼ÒÇÁÆ®¿þ¾î¸¦ À§ÇÑ »ç¿ëÀÚµéÀÇ ´Ù¾çÇÑ shaderµé Á¦ÀÛÀ» À§ÇÑ ÀÎÅÍ·¢Æ¼ºêÇÑ ¼ÒÇÁÆ®¿þ¾îÀÌ´Ù.

GenshadeÀÇ Á¦Ç°¼Ò°³±Û :

GenShade´Â ¶Ù¾î³­ genetic algorithm Å×Å©´ÐÀ» ÀÌ¿ëÇÏ¿© ¾ÆƼ½ºÆ®µéÀÌ ¹Ù·Î ´Ù¾çÇÑ shader¸¦ ¸¸µé ¼ö ÀÖ°Ô ÇØÁÖ´Â ÅøÀÌ´Ù. GenShadeÀÇ Á÷°üÀûÀÎ ÀÎÅÍÆäÀ̽º¸¦ ÅëÇؼ­ ¾ÆƼ½ºÆ®´Â ¾î¶°ÇÑ ÇÁ·Î±×·¡¹ÖÀÇ Áö½Ä¾øÀ̵µ shaderÁ¦ÀÛ°úÁ¤À» ÀÌÇØÇÏ¿© ¿øÇÏ´Â shader¸¦ Á¦ÀÛÇÒ ¼ö ÀÖ´Ù.

GenShade´Â ÀÚµ¿À¸·Î  genetic(À¯ÀüÀû)ÇÑ Àç»ó»êÀ» À§Çؼ­ ÇϳªÀÌ»óÀÇ ¼±ÅÃµÈ shader¸¦ ±â¹ÝÀ¸·ÎÇÑ ¼­Çǽº, µð½ºÇ÷¹À̽º¸ÕÆ®, ¶óÀÌÆ® µîÀÇ ¼¼Æ®¸¦ ¸¸µé¾î ³½´Ù. shader»ý»ê °øÁ¤Àº È¿À²ÀûÀÌ°í °­·ÂÇÏ¸ç ºü¸¥ »ý»ê·ÂÀ¸·Î ¸¹Àº ´Ù¾çÇÑ  shader¸¦ ¸îºÐ¾È¿¡ ¼ÒÈ­ÇÔÀ¸·Î½á ¼ö½Ã°£¿¡ °ÉÄ£ ½ÇÇè°øÁ¤ÀÇ ¼ö°í¸¦ ´ú¾îÁØ´Ù.

GenShade ½Ã½ºÅÛ

½Ã½ºÅÛÀº ¾ÆƼ½ºÆ®ÀÇ Á÷Á¢ÀûÀÎ ÀÛ¾÷°ú ÀÚµ¿ ½ºÄھ ¸ðµåµéµµ Áö¿øÇÑ´Ù. ÀÌ µÎ°æ¿ì ¸ðµÎ »ç¿ëÀÚµéÀº ½Ã½ºÅÛÀÇ ¼±ÅÃµÈ ¹Ì¸®Á¦ÀÛµÈ shaderµé°ú ¼öÄ¡Á¦¾îÀåÄ¡¸¦ ÀÌ¿ëÇϰԵȴÙ. ÀÎÅÍ·¢Æ¼ºêÇÑ ¾ÆƼ½ºÆ® ¸ðµå¿¡¼­ »ç¿ëÀÚ´Â ¹ÌÀû°¨°¢À» »ì¸± ¼ö ÀÖ´Â ÄÁÆ®·Ñ°ú shaderÀÇ ¼±ÅÃÀÌ °¡´ÉÇÏ´Ù. ÀÚµ¿¸ðµå¿¡¼­´Â ½Ã½ºÅÛ ÀÚü¿¡¼­ Ÿ°Ù À̹ÌÁö¿Í ºñ±³Çϸ鼭 °ªÀÌ ¸Å°ÜÁø shader¸¦ »ý»êÇϰԵȴÙ. ±×¸®°í À̰͵éÀ» ¹ÙÅÁÀ¸·Î ½Ã½ºÅÛÀº ´Ù¾çÇÑ child shader¸¦ »ý»êÇÏ°Ô µÇ´Â °ÍÀÌ´Ù. »ç¿ëÀÚ´Â ÀÌ·¯ÇÑ child shader¸¦ ÀÚ½ÅÀÇ À̹ÌÁö°¡ ·»´õµÇ¸é¼­ ¾î¶»°Ô º¸¿©Áö´ÂÁö¸¦ º¼ ¼ö ÀÖ´Ù. ½Ã½ºÅÛÀº ¶ÇÇÑ ¹é±×¶ó¿îµå¾È¿¡¼­ »ç¿ëµÉ ¼ö ÀÖÀ¸¹Ç·Î °á°úµéÀº ÈÄ¿¡ ±×·¡ÇÈ ÀÎÅÍÆäÀ̽º¸¦ ÅëÇØ º¸¿©Áú ¼öµµ ÀÖ´Ù.

Á¶Á¾ÀåÄ¡

GenShade´Â Á¶Á¾ÀåÄ¡¸¦ ÀÌ¿ëÇÏ¿© ƯÁ¤ µð·ºÅ丮ÀÇ ¼­Ä¡¼Óµµ¸¦ ³ô¿©ÁØ´Ù. ±âº»ÀûÀÎ ¾ÆÀ̵ð¾î´Â °á°ú°¡ ¸¸Á·ÇÏÁö ¸øÇÏ¿´À»¶§ °¡ÇØÁö´Â Å« ±¸Á¶Àû º¯È­°¡ ±× °á°ú¸¦ ¼öÄ¡·Î ³ªÅ¸³» ÁÙ ¼ö ÀÖ¾î¾ß ÇÑ´Ù´Â °Í¿¡¼­ ³ª¿Â°ÍÀÌ´Ù. ¹Ý´ë·Î °á°ú°¡ ¾î´ÀÁ¤µµ ¸¸Á·½º·´´Ù¸é ÀÛÀº º¯È­¸¸ÀÌ ÇÊ¿äÇÏ´Ù. ÀÚµ¿ ½ºÄھ ¸ðµå¸¦ ÀÌ¿ëÇÏ¿© Ÿ°ÙÀ̹ÌÁö´Â ƯÁ¤ÇÑ ¹æÇâ¾È¿¡¼­ ¼­Ä¡¸¦ ÇØÁÖ´Â Ãß°¡ÀûÀÎ °¡À̵å Åø·Î½á ±¸½ÇÀ» ÇϰԵȴÙ.

Æ©´×

Çϳª³ª ±×ÀÌ»óÀÇ shader°¡ ÇÁ·ÎÁ§Æ®¸¦ À§Çؼ­ ¼±ÅÃÀÌ µÇ¾úÀ»¶§ ÀûÀýÇÑ Æ©´×ÀÌ ÇÊ¿äÇϰԵȴÙ. GenShade´Â °£´ÜÇÑ ¼±ÅÃÀ¸·Î ¿øÇÏ´Â shaderÀÇ º¯Çü°ú ÀÛÀº ºÒ±ÔÄ¢ÇÑ º¯È­µéÀ» Àû¿ë½Ãų ¼ö ÀÖ´Ù. ±×·¯¹Ç·Î ¿øº»°ú ºñ½ÁÇÑ Å« ±×·ìÀÇ shaderµéÀ» ¸¸µé ¼ö ÀÖ´Â °ÍÀÌ´Ù. »ç¿ëÀÚ´Â ÀÌ·¯ÇÑ °úÁ¤À» °ÅÃļ­ ±× Áß¿¡¼­ °¡Àå ÀûÀýÇÑ shader¸¦ ¼±ÅÃÇÏ¸é µÇ´Â°ÍÀÌ´Ù.

°áÁ¤Çϱâ

GenShade´Â ¿©·¯°³ÀÇ shaderµéÀº ºü¸¥ ½Ã°£¾È¿¡ ¸¸µé¾î ³»±â ¶§¹®¿¡ »ç¿ëÀÚ´Â ±×µé Áß¿¡ °áÁ¤À» ÇؾßÇÑ´Ù.

- Çϳª³ª ±×ÀÌ»óÀÇ shader¸¦ ¼±ÅÃÇÏ¿© ÃÖÁ¾ shader·Î ÇÑ´Ù.
- Çϳª³ª ±×ÀÌ»óÀÇ shader¸¦ ÀÌ¿ëÇÏ¿© Æ©´×À» ÇÑ´Ù.
- shaderµéÀ» ¼±ÅÃÇÏ¿© »õ·Ó°Å³ª ÇöÁ¸ÇÏ´Â shaderÀÇ µ¥ÀÌŸº£À̽º¸¦ Ž»öÇÑ´Ù.
- »õ·Ó°Å³ª ÇöÁ¸ÇÏ´Â shaderµéÀ» ¼±ÅÃÇÏ¿© ´ÙÀ½ ÇÁ·ÎÁ§Æ®¸¦ À§ÇØ »ç¿ëÇϰųª
- µð½ºÅ©°ø°£ÀÇ È®º¸¸¦ À§Çؼ­ ³²Àº shaderµéÀ» ¹ö¸°´Ù.

À¯¿ë¼º

GenShade´Â ¾ÆƼ½ºÆ®ÀÇ ÀÛ¾÷À» ÈÙ¾À ´õ ½±°Ô ÇÑ´Ù. ÇÊ¿äÇÑ Á¤º¸¸¦ °¡Áö°í Á¡½É½Ã°£À̳ª ¹ã»õ ÀÛµ¿À» °è¼ÓÇÒ ¼ö ÀְԵǾîÀÖÀ¸¸ç ´Ù¾çÇÏ°í ¸¹Àº ¾çÀÇ shaderµéÀ» ¼±ÅÃÇÒ ¼ö ÀÖ´Â ºê¶ó¿ìÀú¸¦ ÅëÇؼ­ ¿øÇÏ´Â °ÍÀ» ¼±ÅÃÇÒ ¼ö ÀְԵǾîÀÖ´Ù. ÀÌ ±â´ÉÀº »ç¿ëÀÚµéÀÇ ÀÛÇ°À» ÈÙ¾À ½±°í È¿À²ÀûÀ¸·Î º¼ ¼ö ÀÖ°Ô ¸¸µé°ÍÀÌ´Ù. GenShade´Â ¿©·¯°³ÀÇ ¹Ì¸®¸¸µé¾îÁø  shaderµé(³ª¹«³ª ¹ÙÀ§Áú°¨µî)À» Á¦°øÇÏ¿© »ç¿ëÀÚµéÀÌ ºü¸¥ ÀÛ¾÷À» ÇÒ ¼ö ÀÖ°Ô ÇØÁØ´Ù. ÀÌ·¯ÇÑ ¹æ¹ýµéÀ» ÅëÇؼ­ »ç¿ëÀÚµéÀº ½±°Ô shaderÀÇ µ¥ÀÌŸº£À̽º¸¦ Ä¿½ºÅ͸¶ÀÌÁîÇÒ ¼ö ÀÖ´Ù. ÇöÀç  GenShade´Â Cinema Graphics Inc.ÀÇ ShadeTree formatÀ» ÀÓÆ÷Æ®ÇÒ ¼ö ÀÖ´Ù. ±×¸®°í RenderManÀÇ shading language source code¿Í ShadeTree formatÀ¸·Î ÀͽºÆ÷Æ®ÇÒ ¼ö ÀÖ´Ù. ¶ÇÇÑ surface, displacement, light, ±×¸®°í atmosphere shaderµéÀ» Áö¿øÇÏ°í ÀÖ´Ù.

µ¥ÀÌŸº£À̽º °ü¸®

»ç¿ëÀÚ´Â ÀÚ½ÅÀÇ Ä¿½ºÅ͸¶ÀÌÁîµÈ shaderÀÇ µ¥ÀÌŸº£À̽º¸¦ »õ·Î Á¦ÀÛµÈ shader¿Í ¹Ì¸®Á¦ÀÛµÈ shaderµé°ú ¹Í½ºÇÒ ¼ö ÀÖ´Ù. ÀÌ »õ·Î¿î µ¥ÀÌŸº£À̽ºµéÀº ÇöÀç ÁøÇàÁßÀ̰ųª Â÷ÈÄ¿¡ ÁøÇàµÉ ÇÁ·ÎÁ§Æ®¸¦ À§Çؼ­ »ç¿ëÇÒ ¼ö ÀÖ´Ù.

¹Ì¸®Á¦ÀÛµÈ shader°¡ ÃæºÐÇÏÁö ¾Ê¾Æ¼­ »ç¿ëÀÚ°¡ ¼ö³âµ¿¾È ¼öÁýÇØ¿Â shaderµéÀ»  ÀÌ¿ëÇÏ°í ½ÍÀ»¶§ ÀÌ shaderµéÀ» GenShade shaderÆ÷¸ËÀ¸·Î º¯È¯½Ãų ÇÊ¿ä°¡ ÀÖ´Ù. ÇÑ°¡Áö ¹æ¹ýÀº GenShade shader Æ÷¸ËÀ¸·Î ¹®¼­ÆíÁýÀ» ÇÏ´Â °ÍÀÌ´Ù. ´Ù¸¥ ¹æ¹ýÀº Csoftware¸¦ ÀÌ¿ëÇÏ¿© shader¸¦ ¸¸µé°í GenShade·Î ÀÓÆ÷Æ®ÇÏ´Â °ÍÀÌ´Ù. ±×´ÙÀ½ »ç¿ëÀÚ´Â ÀÚ½ÅÀÇ ±âÈ£¿¡ ¸Â´Â µ¥ÀÌŸº£À̽º¸¦ GenShade³ª Shadetree formats ±×¸®°í RenderMan shading language source code·Î ¸¸µé ¼ö ÀÖ´Â °ÍÀÌ´Ù. ÀÌ·¸°Ô Àç»ý»êµÈ  shader¸¦ À§ÇÑ ½Ã°£ÅõÀÚ´Â ±âº»ÀûÀÎ µ¥ÀÌŸº£À̽º¸¦ ÀÌ¿ëÇÏ¿© ¼öõ°³ÀÇ ´Ù¾çÇÏ°í »õ·Î¿î shaderµéÀ» ¸¸µé¾î ³¾ ¼ö ÀÖ´Ù´Â °ÍÀ¸·Î ±× º¸»óÀ» ¹ÞÀ» ¼ö ÀÖ´Ù.

Ãßõ»ç¾ç
- ¸ðµç Silicon Graphics workstation ±âÁ¾
- IRIX v6.3 ³ª »óÀ§¹öÀü
- ÃÖ¼Ò 128 MB RAM  

ÇÊ¿äÇÑ ¼ÒÇÁÆ®¿þ¾î
- Pixar Photorealistic RenderMan v3.7 ³ª »óÀ§¹öÀü
- Side Effects' Houdini V4.0 ³ª »óÀ§¹öÀü

Ãßõ¼ÒÇÁÆ®¿þ¾î
- Cinema Graphics ShadeTree software
- Pixar Photorealistic RenderMan v3.9's Slim

GenShadeÀÎÅÍÆäÀ̽º

shaderÁ¦ÀÛÀ» À§ÇÑ ±×·¡ÇÈ »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º

- ¸ÞÀÎ ¸Þ´º¹Ù´Â µ¥ÀÌŸº£À̽º ¸Å´ÏÀú, Á¦ÀÛ ¼Â¾÷ ¿É¼Ç, Á¦ÀÛ ¸í·ÉµéÀ» °¡Áö°í ÀÖ´Ù.
- ºü¸¥ ¾×¼¼½º¸¦ À§ÇÑ Åø¹Ù´Â Á¾Á¾ ¹ß»ýÀåÄ¡ ¿É¼Çµé¿¡ ¾²ÀδÙ. ¿¹¸¦ µé¾î »ç¿ëÀÚ´Â ÀÎÅÍ·¢Æ¼ºê³ª ÀÚµ¿ ½ºÄھ ¿É¼ÇÀ» ¹ø°¥¾Æ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
-ÆгκκÐÀº Ÿ°ÙµéÀÇ À̹ÌÁö ºä³ª parent shaderµéÀ» º¼ ¼ö ÀÖ°Ô µÇ¾îÀÖ´Ù. ÀÌ°ÍÀº ¼öÄ¡Á¦¾î¸¦ ÅëÇÑ ºü¸¥ ¾×¼¼½º°¡ °¡´ÉÇÑ ½½¶óÀÌ´õ¸¦ Á¦°øÇÏ¸ç ½½¶óÀÌ´õ´Â °¢ ºÎºÐÀÇ À̹ÌÁöµéÀ» º¼ ¼ö ÀÖ°Ô ÇØÁÖ¸ç ½Ã½ºÅÛÀÌ ÁøÇàÁßÀÎ ÀÛ¾÷ÀÇ Á¤º¸¸¦ ÅؽºÆ® âÀ» ÅëÇؼ­ º¸¿©ÁØ´Ù.
-¸Ç ¾Æ·§ÁÙ¿¡ ÀÖ´Â Storage PoolÀº Àӽ÷ΠÀúÀåµÇ¾î¼­ »õ·Î¿î µ¥ÀÌŸº£À̽º¸¦ ¸¸µé ¼ö ÀÖ´Â shaderµéÀÇ À̹ÌÁö¸¦ º¸¿©ÁØ´Ù.

ÀÎÅÍÆäÀ̽ºÀÇ À¯¿¬¼º

»ç¿ëÀÚ´Â shaderµéÀÇ À̹ÌÁöµéÀ» ±×·¡ÇÈ ÀÎÅÍÆäÀ̽º¸¦ ÀÌ¿ëÇÏ¿© À̵¿ÇÒ ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î childÀ̹ÌÁö´Â Ÿ°ÙÀ̹ÌÁö·Î »ç¿ëÇϱâ À§Çؼ­ ¸ÇÀ­ÁÙ·Î ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù. À̹ÌÁöµéÀº ´ÙÀ½ ¼¼´ë(Generation)¸¦ À§ÇÑ ÇöÀç Áý´ÜÀ¸·Î½á À̵¿ÀÌ °¡´ÉÇÏ´Ù.

Generation ¼öÄ¡Á¦¾îÀåÄ¡ ¼Â¾÷

Generation ¼öÄ¡Á¦¾îÀåÄ¡µéÀº Å« ·¹º§ÀÇ ÄÁÆ®·ÑÀ» ÅëÇؼ­ shaderµéÀ» ÄÁÆ®·ÑÇÒ ¼ö ÀÖ´Ù. µðÆúÆ®¿Í ´Ù¸¥ °ÍµéÀ» À§ÇÑ »ç¿ëÀÚ Á¤ÀÇ·Î µÈ Generation ¼öÄ¡Á¦¾îÀåÄ¡µéÀÌ ÀÖÀ¸¸ç Generation ¼Â¾÷ Å×Å©´Â ¼Â¾÷ÀÇ ¼­ºê¸Þ´º¸¦ ÅëÇؼ­ ¾×¼¼½ºµÈ´Ù. ÀÌ ¼öÄ¡Á¦¾îÀåÄ¡µéÀº ¾Æ·¡ ¼¼´ë¸¦ À§ÇÑ parent shader¸¦ ¼±ÅÃÇÏ´Â ¹æ¹ý, parent shaderÀÚü¸¦ ´Ù¾çÈ­½ÃÅ°´Â ¹æ¹ýÀ̳ª ½ºÄھ ¸ðµåµî¿¡ µû¶ó¼­ °¢°¢ Àû¿ë°¡´ÉÇÑ ÀåÄ¡µéÀÌ ºÙ°ÔµÈ´Ù.

source: 3dvf.com

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