* ÁÖ¼®Àº Äڵ尡 '¾î¶»°Ô' µ¿ÀÛÇϴ°¡¸¦ ¸»ÇÏ´Â °Ô ¾Æ´Ï¶ó '¹«¾ùÀ»' Çϴ°¡¸¦ ¸»ÇØ¾ß ÇÑ´Ù´Â °ÍÀÌ´Ù.
* ÀÏ°ö °¡Áö Á¤¼®°ú ¼¼°¡Áö ¹Ùº¸Áþ
Á¤¼® 1. Àç»ç¿ë °èȹ, °°Àº ÀÏÀ» µÇÇ®ÀÌ ÇÏÁö ¸¶¶ó
Á¤¼® 2. ¹®¼È, ¸Ó¸´¼Ó¿¡ ³²°ÜµÎÁö ¸¶¶ó
Á¤¼® 3. ±âȹ ¸ÕÀú, °³¹ßÀº ´ÙÀ½
Á¤¼® 4. ÀÏÁ¤, ¸ðµç »ç¶÷µé¿¡°Ô ¸ñÇ¥¸¦ È®½ÇÈ÷ ¾Ë·ÁÁÖ¾î¶ó
ÀÏÁ¤À» Â¥°í, ÀÏÁ¤¿¡ Âѱâ¸é Æ÷±âÇÏ°í ÇÏ´Â ÀÏÀº ¹Ýº¹ÀûÀ¸·Î ÀϾÙ. ¹®Á¦´Â °èȹÀ» Æ÷±âÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó, ´ë¾ÈÀ» ¸¸µéÁö ¸øÇÏ°í ÄÚµùÇÏ°í ¼öÁ¤ÇÏ´Â ¾Ç¼øȯ¿¡ ºüÁö´Â °ÍÀÌ´Ù. ( Steve
McConnell )
Á¤¼® 5. ½Ç¼ö¸¦ ÀâÀ¸¸é¼ °¡¶ó
Á¤¼® 6. R&DÀÇ ¼öÁØÀ» Á¶ÀýÇ϶ó
Á¤¼® 7. ¼±À» ±×À» ¶§¸¦ ¾Ë¶ó
¹Ùº¸Áþ 1. ºÎÀûÀýÇÑ °ü¸®
ÁÁÀº °ü¸®´Â ´«¿¡ º¸ÀÌÁö ¾Ê°Ô ÇÏ´Â °ÍÀÌ´Ù. Æò¼Ò¿¡´Â Á¶¿ëÈ÷ ÆÀÀÇ È°µ¿À» Áö¿øÇÏ°í ÇÊ¿äÇÒ ¶§¸¸ ³¢¾îµé¾î¾ß ÇÑ´Ù. ±ÇÀ§´Â ÆÀ¿øµé¿¡ ÀÇÇØ ¸¸µé¾îÁö¸ç, ¿µÈÀÇ °¨µ¶°ú ¸¶Âù°¡Áö·Î °áÁ¤±Ç°ú âÁ¶Àû ºñÀüÀ» °¡Áø °³ÀÎÀÌ °®°Ô µÈ´Ù.
¹Ùº¸Áþ 2. ±â´ÉÀÇ ¹ü¶÷
¹Ùº¸Áþ 3. ÄÚ´õµéÀÇ ÆíÇùÇÔ
* °ø°³ÇÁ·Î±×·¥
XnView-win/ rendermonkey/ Paint.NET/ 7-Zip/
StickyPad
2 °É¾î¼ °ÔÀÓ±îÁö/ ¿øÇÏ´Â ¸¸Å ¸Ö¸® °¥ ¼ö´Â ÀÖÁö¸¸, ¿øÇÏ´Â ¸¸Å »¡¸® °¥ ¼ö´Â ¾ø´Ù. #
¢Â ¿µ»óÀÚ±Ø ; °ÔÀÓ³ú (--> Ä¡¸ÅÇö»ó°ú ºñ½Á) ¢¢ ¸í»ó
/ ÀüµÎ¿±ÀÌ ¹ß´ÞÇÏÁö ¸øÇÏ°í, »çȸ¼ºÀÌ °á¿©
/ Ŭ¸¯(ÀÚ±Ø)¿¡ ÀÇÇÑ Àû°¢ÀûÀÎ ¹ÝÀÀÀº °¨Á¤ÀÇ ±Þ°ÝÇÑ ±âº¹, À̼ºÀû ÆÇ´ÜÀ» ÀúÇØÇÏ°í °á°ú¸¦ ±â´Ù¸®Áö ¸øÇÔ
* ¸Þ¸ðÀå ; ¸Þ¸ðÀåÀÇ Ç׸ñº° Á¤¸®(È®Àå)
* µüÁö ; ´ÜÀ§ ÁÖÁ¦¿¡ °üÇÑ Á¤¸®
* µ¿±âÈ ; Ŭ¶óÀ̾ðÆ®°¡ ¼¹ö¿¡ º¸³»´Â ³»¿ëÀº ÀÌ¹Ì ³¡³ ÇൿÀÌ ¾Æ´Ï¶ó ÀÌ·¸°Ô ÇÏ°í ½Í´Ù´Â Ç÷¹À̾îÀÇ ÀÇÁöÀ̸ç, ¼¹ö°¡ Ŭ¶óÀ̾ðÆ®¿¡°Ô µÇµ¹·ÁÁÖ´Â µ¥ÀÌÅÍ´Â ÀÌ¹Ì Ç÷¹À̾°Ô ÀÏ¾î³ »ç½ÇÀÌ´Ù. Ç÷¹À̾ ´À¸° ÄÄÇ»Å͸¦ °¡Áö°í ÀÖ´Ù¸é, °ÔÀÓ ³»¿¡¼ÀÇ ±× Ç÷¹À̾îÀÇ Çൿ ¿ª½Ã ´À¸± °ÍÀÌ´Ù.
* ±â¼úÁ¤º¸
* ¼¼¹Ì³ª ¸Þ¸ð
* µüÁö
* ±âŸ
* À¯Àú´Â °ÔÀÓÀ» ÁøÇàÇÏ¸é¼ ´Ü°èÀûÀ¸·Î ±â¼úÀ» ¹è¿ì´Â °ÍÀÌÁö, ¸ðµç °ÍÀ» ´Ü¹ø¿¡ ±ú¿ìÄ¡´Â °ÍÀÌ ¾Æ´Ï´Ù.
..."ÁøÇàÇÏ¸é¼ ±â¼ú ¹è¿ì±â" ¹æ½ÄÀº À¯¸íÇÑ °ÔÀÓ µðÀÚÀ̳ÊÀÎ ´ÑÅÙµµ»çÀÇ ½Ã°Ô·ç ¹Ì¾ß¸ðÅä·ÎºÎÅÍ ½ÃÀ۵Ǿú´Ù. ±×´Â ¸¶¸®¿À¿Í Á©´ÙÀÇ Àü¼³À» Á¦ÀÛÇÑ »ç¶÷ÀÌ´Ù. ±×ÀÇ °ÔÀÓ µðÀÚÀÎ ¹æ½ÄÀº ¾ÆÁÖ ¸ð¹üÀûÀε¥, ƯÈ÷ Á©´Ù ½Ã¸®Áî°¡ ±×·¸´Ù. ÀÌ·± °ÔÀÓÀ» Ç÷¹ÀÌÇÏ¸é °ÔÀÓµðÀÚÀ̳ʰ¡, Ç÷¹À̾ ¾Ë¾Æç ¼ö ¾ø´Â ¹æ½ÄÀ¸·Î, ¼±ÇüÀûÀÎ °æ·Î¸¦ µû¸£°Ô Çß´Ù´Â °ÍÀ» ´À³¥ ¼ö ÀÖ´Ù. ÀÌ À¯¸íÇÑ ¼ÓÀÓ¼ö´Â ·¹º§À» ¿Ï·áÇϱâ À§ÇÑ ¸ñÀûÀ» ·¹º§À» ¿Ï·áÇÔ¿¡ µû¸¥ º¸»óÀ¸·Î ¿©±â°Ô ¸¸µé¾î¼ Ç÷¹À̾ ¼ÓÀÌ´Â °Íó·³ º¸ÀδÙ. ±×¸®°í´Â ±× ¸ñÀû¹°À» °¡Áö°í ÀÖÀ¸¸é ·¹º§À» ¿Ï·áÇϱⰡ ¾ó¸¶³ª ½¬¿ü´ÂÁö ±ú´Ý´Â´Ù. ÁÂÀý°¨À» ´À³¢´Â°¡? ±×·¸´Ù, °Ô´Ù°¡ ¿µ¸®Çϱ⵵ ÇÏ´Ù. ÀÌ·± ¹æ½ÄÀº ¿Ïº®ÇÑ Áßµ¶¼º ±×¹°À» Á¦°øÇÏ°í, »õ ±â¼úÀ» ¹è¿ì´Â ¸Å²öÇÑ ¹æ¹ýÀ» Á¦°øÇÑ´Ù. ±× ·¹º§¿¡¼ ¾òÀº ¸ñÀû¹°Àº ´ç¿¬ÇÏ°Ôµµ ´ÙÀ½ ·¹º§¿¡¼ ¹«Ã´ Áß¿äÇÑ °ÍÀÌ´Ù. ±×·¸´Ù. ÀÌ·± °ÍÀº ºñÇö½ÇÀûÀÌ´Ù. ±×·¯³ª Çö½ÇÀº º°·Î ±¸Á¶ÀûÀÌÁö ¾ÊÀ¸¸ç, ±×·¸±â¿¡ »ç¶÷µéÀº °ÔÀÓÀ» ÇÏ´Â °ÍÀÌ´Ù. °ÔÀÓ µðÀÚÀ̳ʰ¡ ¸¸µé¾îµÐ ÀÏ°üµÇ°í ±¸Á¶ÀûÀÎ ¼¼»ó¿¡¼ Àç¹ÌÀÖ´Â °ÍµéÀ» ÇÏ´Â °ÍÀÌ´Ù.
#Ãâó - "°ÔÀÓ¾ÆÅ°ÅØÃÄ&µðÀÚÀÎ2", 8Àå...
2.2 ÀÛÀº ÁÖÁ¦ #
2.2.1 ±×·¡ÇÈ ÆÄÀÌÇÁ¶óÀÎÀÇ ÀüÅëÀû ¾ÆÅ°ÅØÃÄ #
*.¼³Á¤/·¡½ºÅÍ ¡æ ÅؽºÃÄ ¾îµå·¹½º ¡æ ÅؽºÃÄ ¡æ Fog ¡æ ¾ËÆÄ Å×½ºÆ® ¡æ Depth Å×½ºÆ® ¡æ ¾ËÆÄ ºí·»µù ¡æ Mem Write
±íÀº ÆÄÀÌÇÁ¶óÀÎ(200´Ü°è)·Î Ç×»ó ¸ðµç ´Ü°è¸¦ °ÅÃľßÇÏ°í, Ç×»ó clockingÀ» ¼öÇàÇÑ´Ù.
* Çϵå¿þ¾î ½ºÆÑ
2.2.2 ¸ð¸®³ë¸® °³Á¤ ¹öÀü 1.03 #
* È¥ÀÚ ¹é¼öÀÎ °ü°è·Î È¥ÀÚ ¼öÁ¤ ÀÛ¾÷À» Çߴµ¥, ÀÛ¾÷Áß¿¡ Ãß¼®ÀÌ ÀÖ¾ú°í Á¶±Ý¾¿ ¼öÁ¤ÇÏ´Ù º¸´Ï±ñ óÀ½ °èȹÇÑ ¼öÁ¤¹üÀ§ º¸´Ù ³Ð¾îÁ®¼ ÀÛ¾÷±â°£ÀÌ ±æ¾îÁ³°í, ¹«¾ùº¸´Ùµµ °øµ¿ ÀÛ¾÷¿¡¼ÀÇ ÁÖ¼®ÀÇ Çʿ伺À» Àý½ÇÇÏ°Ô ´À²¼À¸¸ç,
1.03°³Á¤Àº ´Á´ë¸¦ Àâ¾ÒÀ» ¶§, º¸»ó ¾ÆÀÌÅÛÀ¸·Î horn¸¦ Ãß°¡ÇÏ´Â °ÍÀ¸·Î ¿ä¾àÇÒ ¼ö ÀÖ´Ù.
¹öÀü 1.03¿¡¼ º¯°æµÈ ³»¿ë ¸ð¸®³ë¸®_°³Á¤1.03 @ 2004-10-25 @
2.2.3 3D Character Animation #
* ¾Ö´Ï¸ÞÀ̼ÇÀÇ Á¾·ù
1.Vertex Animation ( Á¤Á¡ ¾Ö´Ï¸ÞÀÌ¼Ç ); ½ºÇÁ¶óÀÌÆ® ¾Ö´Ïó·³ ¸Å½¬ÀÇ Á¤º¸¸¦ µ¿ÀÛµ¿ÀÛ ¸¶´Ù ¸¸µé¾î ³õ°í, ½Ã°£¿¡ ¸ÂÃß¾î¼ ±× ¸Å½¬¸¦ ·»´õ¸µÇÑ´Ù.
2.Hierarchical Animation
3.Bone Based Animation ( Skeletal Animation, »À´ë ¾Ö´Ï¸ÞÀÌ¼Ç )
4.Skinned Bone Animation
5.Inverse Kinematics ( IK : ¿ª¿îµ¿ÇÐ )
* Scene Graph; 3D µ¥ÀÌŸ¸¦ Ç¥ÇöÇϱâ À§ÇÑ ÀÚ·á ±¸Á¶·Î½á
Àüü ÁöÇü¿¡¼, 3D¿£Áø¿¡¼ ó¸®ÇØ¾ß ÇÒ ÀýµÎü ³» º¸ÀÌ´Â µ¥ÀÌŸ¸¸À» ó¸®Çϱâ À§ÇØ ¼¼¼¼ÇÏ°Ô ³ª´©¾î¼ ó¸®(Àüó¸® ÇÊ¿ä)
1.2ÁøÆ®¸®(binarytree)
2.ÄõµåÆ®¸®(quadtree); °ø°£À» 4°³ÀÇ ÀÚ½Ä ³ëµå·Î Àç±ÍÀûÀ¸·Î ºÐÇÒÇÏ´Â ¹æ½Ä
»ý¼ºÇÒ ÁöÇüÀÇ Å©±â´Â ¹Ýµå½Ã 2ÀÇ n½Â + 1ÀÌ´Ù.
3.¿ÁÆ®¸®(octree)
* LOD
Static LOD; ¹°Ã¼¿Í Ä«¸Þ¶ó¿ÍÀÇ °Å¸®¿¡ µû¶ó °¡±î¿ï¼ö·Ï ¼¼¹ÐÇÑ ¸Þ½¬·Î ±¸¼ºµÈ ¹°Ã¼¸¦ ·»´õ¸µ
ÀåÁ¡; °£´ÜÇÑ ¿¬»êÀ¸·Î ºü¸£°Ô µ¿ÀÛ
´ÜÁ¡; óÀ½ºÎÅÍ ¸Þ½ÃÀÇ Á¤¹Ðµµ°¡ Á¤ÇØÁ® Àֱ⠶§¹®¿¡ ´Ü°è¿¡ µû¸¥ ¸Þ½Ã¸¦ °¡Áö°í ÀÖ¾î¾ß
Çϱ⠶§¹®¿¡ ¸Þ¸ð¸® ³¶ºñ°¡ ½ÉÇÏ°í, ´Ü°è°¡ ±Þ°ÝÇÏ°Ô º¯ÇÒ °æ¿ì poppingÇö»óÀÌ ¹ß»ý
Dynamic LOD; ¹°Ã¼¿Í Ä«¸Þ¶ó¿ÍÀÇ °Å¸®¿¡ µû¶ó ½Ç½Ã°£À¸·Î ¸Þ½ÃÀÇ Á¤¹Ðµµ¸¦ º¯È
ÀåÁ¡; °Å¸®¿¡ µû¸¥ ÀÚ¿¬½º·± LOD±¸ÇöÀ¸·Î poppingÇö»óÀ» ¹æÁö
´ÜÁ¡; ¸Þ½Ã ºÐÇÒ°ú °£·«ÈÀÇ Ãß°¡ÀûÀÎ ¿¬»êÀÌ ÇÊ¿äÇϱ⠶§¹®¿¡ »ó´ëÀûÀ¸·Î ´À¸®°Ô µ¿ÀÛ
* XÆÄÀÏ ¸Þ½Ã¸¦ ÀоîµéÀÏ ¶§ ÁÖÀÇÁ¡Àº ¸Þ½Ã´Â ¿©·¯ °³ÀÇ Æú¸®°ïÀ¸·Î ±¸¼ºµÇ¾î ÀÖ°í,
Æú¸®°ïÀº °¢°¢ÀÇ ÀçÁúÀ» °¡Áú ¼ö ÀÖ´Ù. ÀçÁúÀÌ ¿©·¯ °³ÀÏ °æ¿ì ¸Þ½Ã¸¦ ÀçÁúº°·Î ºÎºÐ ¸Þ½Ã·Î ºÐÇÒ, ºÎºÐ ¸Þ½Ãº°·Î µû·Î ±×¸°´Ù.
1.
D3D¿¡¼´Â
DrawSubset()ÇÔ¼ö¸¦ ÀÌ¿ë ·»´õ¸µ
2.
SetTexture() +
SetMaterial() +
DrawSubset()·Î ÇØ´ç ¸Þ½Ã¿¡ ÅؽºÃÄ¿Í ÀçÁúÀ» Àû¿ë
1.´å³Ý¿ë ¾îÀ̽ºÆ®¿¡¼ ÇÔ¼ö»öÀ̶û º¯¼ö»öÀÌ Ç¥½Ã ¾ÈµÇ´Â °æ¿ì
´å³ÝÀÇ ÆùÆ®°¡ ¹®Á¦°¡ µÉ ¼ö Àִµ¥,
.Net¿¡¼ Default ·Î °¡Áö°í ÀÖ´Â ÆùÆ®¸¦ »ç¿ëÇÒ °æ¿ì Ç¥½Ã°¡ ¾ÈµÇ´Â °æ¿ì°¡ ÀÖ´Ù.
ÆùÆ®¸¦ Fixedsys ·Î º¯°æÇØ ÇÑ´Ù.
2.VS.Net¿¡¼ ÇÁ·Î±×·¥ ÁÙ¹øÈ£ º¸ÀÌ°Ô ÇÏ´Â ¿É¼Ç
µµ±¸|¿É¼Ç|ÅؽºÆ®ÆíÁý±â|C/C++¿¡ µð½ºÇ÷¹ÀÌ ¼³Á¤ ¿É¼Ç üũ
3 C++ #
*
°¡»óÇÔ¼ö(virtual function)´Â
±âº» Ŭ·¡½º ³»¿¡ ¼±¾ðµÇ°í ÆÄ»ý Ŭ·¡½º¿¡ ÀÇÇØ ÀçÁ¤ÀÇµÈ Å¬·¡½º ¸É¹ö ÇÔ¼öÀÌ´Ù. °¡»óÇÔ¼ö¸¦ »ý¼ºÇϱâ À§Çؼ´Â Å°¿öµå virtualÀ» ÇÔ¼ö ¼±¾ð ¾Õ¿¡ ¾´´Ù. ±Ùº»ÀûÀ¸·Î °¡»óÇÔ¼ö´Â ´ÙÇü¼º(polymorshism)ÀÇ ±âº» öÇÐÀÎ "ÇÑ °¡Áö ÀÎÅÍÆäÀ̽º¿Í ¿©·¯ °¡Áö ¹æ¹ý"À» ±¸ÇöÇÑ´Ù. ±âº» Ŭ·¡½º ³»¿¡ ÀÖ´Â °¡»óÇÔ¼ö´Â ±× ÇÔ¼ö¿¡ ´ëÇÑ ÀÎÅÍÆäÀ̽ºÀÇ ÇüŸ¦ Á¤ÀÇÇØ ÁÖ°í, ÆÄ»ý Ŭ·¡½º¿¡ ÀÇÇÑ °¡»óÇÔ¼öÀÇ ÀçÁ¤ÀÇ(ƯÁ¤ÇÑ ¹æ¹ýÀ» »ý¼º)´Â ƯÈ÷ ±× ÆÄ»ý Ŭ·¡½º¿¡ °ü·ÃµÈ ¿¬»êÀ» ±¸ÇöÇÑ´Ù.
Virtual-Key Codes @2004-04-24@
namespace @2004-04-25@
namespaceÀÇ ¿ªÇÒÀº ¾î¶² ¸ðµâÀ̳ª ŸÀÔ µîÀ» ÇϳªÀÇ ±×·ìÀ¸·Î ¹¾îÁÖ´Â ¿ªÇÒÀ» ÇÑ´Ù.
Çë°¡¸®¾ÈÇ¥±â¹ý; º¯¼öÀ̸§ Á¤ÇÒ ¶§ Âü°í @ 2004-05-13 @
¸Þ¸ðÀå_STL @ 2005-04-26 @
¸Þ¸ðÀå_VS2005·Î_¸¸µç_ÇÁ·Î±×·¥_¹èÆ÷¹æ¹ý @ 2008-04-09 @
¸Þ¸ðÀå_Lua Tinker @ 2008-04-24 @
*
¶óÀ̺귯¸® µî·Ï
#pragma comment(lib, "d3d9.lib")
#pragma comment(lib, "d3dx9.lib")
*
2ÀÇ ½Â¼ö±¸Çϱâ
float z = _logb(float(m_Mapsize));
m_Mapsize = pow(2, z);
*
2Â÷¿ø ¹è¿ÀÇ µ¿ÀûÇÒ´çÀÇ ¿¹
// a[20][30];
int **a;
a = new (int*)[20];
for ( int i = 0; i<20; ++i )
{ a[i] = new int[30]; }
for ( int i = 0; i<20; ++i )
{ delete [] a[i]; }
delete [] a;
* ÇϳªÀÇ ¼ö¸¦ Á¤¼öºÎ¿Í ¼Ò¼öºÎ·Î ³ª´©´Â Ç¥ÁØ ¶óÀ̺귯¸® ÇÔ¼ö
double modf(double x, double *ipart); (math.h)
¼Ò¼öºÎ°¡ ¹ÝȯµÇ°í, Á¤¼öºÎ´Â µÎ¹ø° ¸Å°³º¯¼ö°¡ °¡¸®Å°´Â º¯¼ö¿¡ ÀúÀåµÈ´Ù.
* C(1ÁÖ) + C++(2ÁÖ) + ÀڷᱸÁ¶(2ÁÖ) = 5ÁÖ ±âº» ÇÁ·Î±×·¥ °úÁ¤
* ¸ðµç Windows ÀÀ¿ëÇÁ·Î±×·¥Àº ¿Ã¹Ù·Î µ¿ÀÛÇϱâ À§ÇØ °øÅëµÈ °úÁ¤À» ¼öÇàÇÏ°í, °Ô´Ù°¡ ÀÌµé °úÁ¤Àº ÀÀ¿ëÇÁ·Î±×·¥ÀÌ °³¹ßµÈ ȯ°æ¿¡ °ü°è¾øÀÌ Ç×»ó ÀÏÄ¡ÇÑ´Ù. MFC´Â boilerplate codeÀüºÎ¸¦ ó¸®ÇÏ°í, Windows ÀÀ¿ëÇÁ·Î±×·¥ÀÇ ±âº»ÀûÀÎ 2ºÎºÐ(message pump¿Í windows procedure)À»
CWinApp¿Í
CWnd¿¡¼ ó¸®ÇÑ´Ù.
Ŭ·¡½ºÀÇ ±¸¼º¿ä¼Ò...
Ŭ·¡½º´Â À̸§(name), ¾ÖÆ®¸®ºäÆ®(attribute), ¿ÀÆÛ·¹À̼Ç(operation)À¸·Î ±¸¼ºµË´Ï´Ù.
-.À̸§; Ŭ·¡½ºÀÇ À̸§ÀÌ°í ´Ù¸¥ Ŭ·¡½º¿Í ±¸ºÐµÇ´Â À̸§À¸·Î ÀÛ¼º
´Ü¼ø À̸§°ú ÆÐÅ°Áö¸¦ Á¢µÎ¾î·Î °¡Áö´Â °æ·Î À̸§ÀÌ ÀÖ´Ù.
-.¾ÖÆ®¸®ºäÆ®; Ŭ·¡½ºÀÇ ¸ðµç °´Ã¼°¡ °øÀ¯ÇÏ´Â ¾î¶²ÇÑ Æ¯¼ºÀ» Ç¥Çö
(°´Ã¼°¡ °¡Áö´Â ÀÏÁ¾ÀÇ µ¥ÀÌÅÍ È¤Àº »óÅ¿¡ ´ëÇÑ Ãß»óÈ)
-.¿ÀÆÛ·¹À̼Ç; ´Ù¸¥ °´Ã¼°¡ ¿äûÇÒ ¼ö ÀÖ´Â ¼ºñ½º¸¦ ±¸Çö
°´Ã¼ ´ëÇÏ¿© ¼öÇàÇÒ ¼ö ÀÖ´Â ÀÏ¿¡ ´ëÇÑ Ãß»óÈÀ̸ç ÇØ´ç Ŭ·¡½ºÀÇ ¸ðµç °´Ã¼°¡ °øÀ¯ÇÏ´Â °ÍÀÌ´Ù.
Ŭ·¡½º ½Äº°½Ã °í·Á»çÇ×
1.ÀúÀåÇϰųª ºÐ¼®ÇÏ¿©¾ß ÇÒ Á¤º¸°¡ Àִ°¡?
2.¿ÜºÎ ½Ã½ºÅÛÀÌ Á¸ÀçÇϴ°¡?
3.ÆÐÅÏ Å¬·¡½º ¶óÀ̺귯¸®, ÄÄÆ÷³ÍÆ® µîÀÌ Á¸ÀçÇϴ°¡?
4.½Ã½ºÅÛÀÌ Ãë±ÞÇÏ¿©¾ß ÇÏ´Â ÀåÄ¡°¡ Á¸ÀçÇϴ°¡?
5.Á¶Á÷üÀÇ ºÎ¼°¡ Á¸ÀçÇϴ°¡?
6.¾×ÅÍ°¡ ¾î¶°ÇÑ ¿ªÇÒ ¼öÇàÇϴ°¡?
4 ¼ÒÇÁÆ®¿þ¾î 3D (±è¼º¿Ï »ù °¨»ç^^) #
3D ·»´õ¸µÀ» ¼ÒÇÁÆ®¿þ¾î(CPU¿¡¼ ½ÇÇà)·Î ±¸ÇöÇÏ´Â ¸ñÀû
1.3D¿ø¸®¸¦ ÀÌÇØ
2.°¡¼ÓÄ«µå°¡ ³»ÀåµÇ¾î ÀÖÁö ¾Ê´Â ¸ð¹ÙÀÏ ±â±âµî °³¹ß
3.Shader ProgrammingÀÇ ÀÌÇØ¿Í ÀÀ¿ë
4.3D °¡¼Ó±â ÆÄÀÌÇÁ¶óÀÎ ¼³°è
Æú¸®°ïÀ» Á¦ÀÏ ºü¸£°Ô Ç¥Çö ==> ȸ鿡 Ãâ·ÂÇÏÁö ¾Ê´Â °ÍÀÌ´Ù.
(ÃÖÀûÈÀÇ ±âº»Àº ¹«¸®ÇÏ°Ô ¸¹Àº Data¸¦ ó¸®(ȸéÀ¸·Î Ãâ·Â)ÇÏÁö ¾Ê´Â °ÍÀÌ´Ù.)
Æú¸®°ï ·»´õ¸µÀÇ °æ¿ì ±âº»Data = ²ÀÁöÁ¡(Á¤Á¡)¿¡¼ Ãâ¹ß.
#. ÁÂÇ¥°è(Coordinate System)
¿Þ¼ÕÁÂÇ¥°è ; ½Ã°è¹æÇâ(CW: Clock Wise)
DirectX - Çà¿ì¼±(row major) ¹æ½Ä
¿À¸¥¼ÕÁÂÇ¥°è ; ¹Ý½Ã°è¹æÇâ(CCW: Count Clock Wise)
OpenGL - ¿¿ì¼±(column major) ¹æ½Ä
3DS Max - ¹Ù´ÚÀ» X/YÃà, ³ôÀ̸¦ ZÃàÀ¸·Î »ç¿ë
XNA
5 °ÔÀÓ¿¡¼ÀÇ ¹°¸® #
6 ´ÙÀÌ·ºÆ® 3D #
7 Cg (ÃÖ¹®¼º »ù °¨»ç^^) #
20040225
1.c for graphicÀÇ ¾àĪ(HLSL°ú 100% ȣȯ)
2.Nvidia »çÀÌÆ®¿¡¼ Cgsdk¸¦ ´Ù¿î ¹ÞÀºÈÄ ¼³Ä¡Çϸé
VC6ÀÇ È¯°æ¼ÂÆÃÀº ÀÚµ¿À¸·Î ½ÇÇà
3.Cg´Â
D3D, opengl¿¡¼ ¸ðµÎ »ç¿ë°¡´É
Ãß°¡·Î À©µµ¿ì, ¸®´ª½º ¸ÅŲÅä½Ã, Xbox¿¡¼µµ »ç¿ë°¡´É
HLSL ; À©µµ¿ì¿¡¼¸¸ »ç¿ë°¡´É
OGLSL(opengl shader language) ; ¸ÖƼ Ç÷¡Æû
4.Cg(*.cg)´Â ÄÄÆÄÀϽà ÇÊ¿äÇÑ ¹öÀüÀ¸·Î ¼ÂÆÃÇÒ ¼ö ÀÖ´Ù.
( H/W°¡ Áö¿øÇÏ´Â ¹öÀüÀ¸·Î ÀÚµ¿º¯È¯ )
HLSL(*.fx)µµ ¸¶Âù°¡Áö
5.C++°°Àº ¹ü¿ëÀûÀÎ ¼º°ÝÀÌ ¾Æ´Ï¹Ç·Î ¹è¿ì±â°¡ ½±´Ù.
Æ÷ÀÎÅÍ X, Ŭ·¡½º X
¹è¿ O, ±¸Á¶Ã¼ O
6.
CgFx == HLSL ==> MAX, softImage, Maya
0-1.¶óÀ̺귯¸® Ãß°¡¼³Ä¡(
CgGL/
CgD3D9) --> ¿ë·®ÀÌ Ä¿Áü
D3D ÀÔÀå¿¡¼ º¸¸é °ãÄ¡´Â ±â´ÉÀ» °¡Áø ¶óÀ̺귯¸®¸¦ Ãß°¡ ¼³Ä¡ÇÑ´Ù´Â ´ÜÁ¡
0-2.»ç¿îµå ¶óÀ̺귯¸®
ÀÔ·ÂÀåÄ¡
ij¸¯ÅÍÅø ;
ASEµî-->
뷰어기능(70% 이상)-->txt, Binary+ ±â´É Ãß°¡(¿¹, ´É·ÂÄ¡ºÎ¿©/ Èû-20 ü·Â-11)
¸ÊÅø ; MMORPG µî
À̺¤ÅÍÅø
UIÅø ; ÀÎÅÍÆäÀ̽ºÀÇ ´Éµ¿ÀûÀÎ ¹èÄ¡
0-3.º¸ÀÌ´Â ºÎºÐ¸¸ ó¸®ÇÏÀÚ!!
1) ÀýµÎü Äøµ
2) º¸ÀÌ´Â ºÎºÐ¿¡¼¸¸ Ã浹üũ ó¸®
3) occlusinn Äøµ
D3DÀÇ "Query"±â´ÉÀ» ÀÌ¿ë/
¿ì¼± Èæ¹éÅæÀ¸·Î Z°ª¸¸ ·»´õ¸µÇؼ º¸ÀÌ´ÂÁö ¿©ºÎ¸¦ ÆÇ´Ü, º¸ÀÌ´Â ¿ÀºêÁ§Æ®¸¸ ·»´õ¸µ
Cg ¼¼ºÎ ¼ö¾÷³»¿ë ¸Þ¸ðÀå_Cg
8 Shader #
20050418
- HLSL(High Level Shading Language); °í±Þ ¾ð¾îÀÎ C ¾ð¾î¸¦ »ç¿ëÇÏ¿© ¼ÎÀÌ´õ ÇÁ·Î±×·¥À» °³¹ßÇÏ°í,
ÀÌÈÄ¿¡ FXC¶ó´Â Àü¿ë ÄÄÆÄÀÏ·¯¸¦ »ç¿ëÇÏ¿© VS¿Í PSÀÇ Äڵ带 ¸¸µé¾î ³½´Ù.
Äֿܼ¡¼ fxc.exe¸¦ »ç¿ëÇϱâ À§Çؼ´Â fxc.exe°¡ ÀÖ´Â °÷ÀÌ path ȯ°æº¯¼ö·Î µî·Ï µÇ¾î ÀÖ¾î¾ß ÇÏ°í,
c:\dxsdk\Bin\
DXUtils Æúµå¿¡ ÀÖ´Ù.
- ´ÙÀÌ·ºÆ®X 8.x¼¼´ëÀÇ Çϵå¿þ¾î; ¹öÅؽº ½¦ÀÌ´õ¿Í Çȼ¿ ½¦ÀÌ´õ¸¦ Áö¿øÇÏ´Â ±×·¡ÇÈ Ä¨À» Áö¿ø
-.Çȼ¿½¦ÀÌ´õ 1.4 ; ´ÙÀÌ·º½ºX 8.1ÀÌ Áö¿øÇÏ´Â ½¦ÀÌ´õÁß °¡Àå³ôÀº ¹öÀü(1.4)
Çȼ¿½¦ÀÌ´õ 1.4¿¡¼ 1¹ø¿¡ pass·Î °¡´ÉÇÑ Ã³¸®°¡ Çȼ¿½¦ÀÌ´õ 1.1¿¡¼´Â 4¹øÀÇ pass°¡ µÈ´Ù.
- ´ÙÀÌ·ºÆ®X 9; ¹öÅؽº ½¦ÀÌ´õ 2.0 ¹× Çȼ¿½¦ÀÌ´õ 2.0°¡ Áö¿ø
20070827
#.Direct X 7 API
-.Çϵå¿þ¾î°¡ ÀϺΠÇÁ·Î±×·¡¹Ö °¡´ÉÇØÁø ¹öÀü
-.¾Öµå ÈÅ ¸ÖƼÆнº(Ad Hoc
MultiPass) ±â´ÉÀ» ±¸Çö ; Áö¿À¸ÞÆ®¸® ¿¬»ê ±â´ÉÀ» GPU·Î ¿Å±èÀ¸·Î½á
Áö¿À¸ÞÆ®¸® ¿¬»êÀÇ T&L(Transform and Lighting: HDR(High Dynamic Range)ÀÇ ¿øÇü)À» GPU»ó¿¡¼ Çϵå¿þ¾îÀûÀ¸·Î °¡´É
#.Direct X 8 API
-.2001³â¿¡ ¹ßÇ¥, ¾î¼Àºí¸® ÇÁ·Î±×·¡¹ÖÀ» ÅëÇØ ¸¸µé¾îÁø ¼¼ÀÌ´õ ¸ðµ¨(Shader Model)
-.
OpenGL¿¡¼ ¹þ¾î³ª µ¶ÀÚÀûÀÎ Çຸ¸¦ °¡¼ÓÈ
#.Direct X 9 API
-.2002³â 3¿ù¿¡ ¹ßÇ¥, ¼¼ÀÌ´õ ¸ðµ¨ 2.0ºÎÅÍ ¼¼ÀÌ´õ ¸ðµ¨ 3.0±îÁö °¡Àå ¸¹Àº º¯È
-.ÇÑ Å¬·°´ç vs_1.0 ÃÖ´ë 12°³, 2.0Àº 96°³, 2.0b´Â 1536°³, 3.0¿¡¼´Â ¹«Á¦ÇÑÀÇ ¸í·É¾î¸¦ ó¸®
-.¸¶ÀÌÅ©·Î¼ÒÇÁÆ®°¡
OpenGL API¸¦ ¸¶Áö¸·À¸·Î ¼ö¿ëÇÑ API
Direct X APIÀÇ ¹ßÀüÀº ±×·¡ÇÈ ÇÁ·Î¼¼½ÌÀÇ CPU¿¡ ´ëÇÑ µ¶¸³»ç(ÞÈ)
Direct X 10 API¿¡¼´Â PC ŵ¿±â¿¡ Çϵå¿þ¾î¸¦ Á÷Á¢ Á¶ÀûÇØ È¿À²À» ³ô¿´´ø ±Ùº»ÁÖÀÇ °³³äÀ¸·Î µ¹¾Æ°¡
ÇÁ·Î±×·¡¹ÖÀ¸·Î Çϵå¿þ¾î¸¦ Á÷Á¢ Á¦¾îÇÏ°í, ¼¼ÀÌ´õ ¿¬»ê À¯´ÏÆ®¸¦ ÅëÇÕÇØ °ü¸®ÇÏ´Â »õ·Î¿î °³³äÀÇ ÇÁ·Î±×·¡±×·¡¹ÖÀ» ½Ãµµ
#.Direct X 10 API
-.¼¼ÀÌ´õ ¸ðµ¨ 4.0Àº ¼¼ÀÌ´õ ¿ëµµ°¡ Çȼ¿, ¹öÅؽº, Áö¿À¸ÞÆ®¸® µî ¼¼ °¡Áö·Î ±¸ºÐµÈ 'ÅëÇÕ ¼¼ÀÌ´õ ±¸Á¶(Unified Shader Architecture)'
-.¼¼ÀÌ´õ À¯´ÏÆ®°¡ °³º°ÀûÀ¸·Î °íÁ¤µÈ °ÍÀÌ ¾Æ´Ï¶ó ±×·ì ÇüÅ·ΠÁ¸ÀçÇÏ¸é¼ ÇÁ·Î±×·¡¹Ö¿¡ µû¶ó ÀÛµ¿
ÁÖÀÇÇÒ Á¡Àº ÇÁ·Î±×·¡¹Ö °¡´ÉÇÏ´Ù°í Çؼ ³»ºÎ¿¡¼ 󸮵Ǵ µ¥ÀÌÅ͸¦ ÀÓÀÇ·Î Á¶ÀÛÇÒ ¼ö ÀÖ´Ù´Â °ÍÀÌ ¾Æ´Ï¶ó, Çȼ¿, ¹öÅؽº, Áö¿À¸ÞÆ®¸® µîÀ¸·Î ¼¼ºÐµÈ µ¥ÀÌÅ͵éÀ» ÇÁ·Î±×·¡¹Ö¿¡ µû¶ó ¹èºÐÇÒ ¼ö ÀÖ´Ù´Â ¶æÀÌ´Ù.
¹öÀü | DirectX 9 API | DirectX 10 API |
Àӽà ·¹Áö½ºÅÍ | 32 | 4096 |
°íÁ¤ ·¹Áö½ºÅÍ | 256 | 65536 (4096 * 16) |
ÅؽºÃ³ | 16 | 128 |
·»´õ ŸÄÏ | 4 | 8 |
ÃÖ´ë ÅؽºÃ³ Å©±â | 4096x4096 | 8192x8192 |
¼¼ÀÌ´õ ¸ðµ¨ 4.0Àº ¼¼ÀÌ´õ ¸ðµ¨ 3.0¿¡¼ º¼ ¼ö ÀÖ¾ú´ø µÎ °¡Áö HDR ±â¼úÀÎ
FP16°ú
FP24 ¿Ü¿¡ µÎ °¡Áö Æ÷¸Ë(
R11G11B10¿Í
R9G9B9+5)À» Ãß°¡(ä³Î ÄÄÆÛ³ÍÆ®º°·Î 32ºñÆ®¾¿À¸·Î ±¸¼º)
-.
R11G11B10Àº ·¹µå¿Í ±×¸°Àº °¢°¢ 11ºñÆ®, ºí·ç´Â 10ºñÆ®¸¦ ½á ÇÕ°è 32ºñÆ®
-.
R9G9B9+5´Â ¼¼ °¡Áö »ö»óÀÌ 9ºñÆ®¾¿ Â÷ÁöÇÑ °¡¿îµ¥ 5ºñÆ®¸¦ °øÀ¯