¿¬½ÀÀå(´Ù¹ö¸®°í °©´Ï´Ù...)-³²±æ ±ÛÀÌ ÀÖÀ¸¸é ¹Î°¡ÃÌ¿¡ ³²°ÜÁֽðí, ȸ¿ø °¡ÀÔÀ» ¹ÞÁö ¾Ê½À´Ï´Ù.

2003/09/17 (15:20) from 203.247.202.72' of 203.247.202.72' Article Number : 207
Delete Modify _Àü Access : 4607 , Lines : 157
[³ëƼ]20030915-0917 ÄõµåÆ®¸®, LOD, ROAM(½Ç¿Ü)
*.Âü°í
ÁöÇü http://research.microsoft.com/~hoppe/svdlod.pdf
http://www.cix.co.uk/~glennc/gdcetalk_files/frame.htm °­·ÂÃßõ(List/Strip)

*.½Ç³»
http://www.seojewoo.pe.kr/
-.BSP ; Binary Space PartioningÀº ¸» ±×´ë·Î °ø°£À» 2°³·Î ºÐÇÒÇÏ´Â ¾Ë°í¸®ÁòÀÌ´Ù.
 -1.3D BSPÆ®¸®°¡ 2D BSPÆ®¸®¿Í Å©°Ô ´Ù¸¥Á¡Àº ¿ì¸®°¡ Ç¥¸éÀ» ºÐÇÒÇϴµ¥ »ç¿ëÇÏ´Â °ÍÀÌ ¼±ÀÌ ¾Æ´Ï¶ó ¸éÀ» »ç¿ëÇÑ´Ù´Â Á¡À̸ç, ¸ðµç nÂ÷¿ø bspÆ®¸®´Â ºÐÇÒÇÏ´Â °ø°£¿¡ À־ n-1Â÷¿øÀ» »ç¿ëÇؼ­ ÀÛ¾÷À» ÇÑ´Ù.

  °³³ä; http://www.gamesync.com.ne.kr/source/ch1.html
  ÀÀ¿ë; http://seojewoo.pe.kr/activex/opengl/opengl-12.htm

-.Solid Node BSP ; ±×³É BSP¸¸ »ç¿ëÀ» Çؼ­´Â Áö±ÝÀº ³Ê¹«³ª ¸¹Àº Æú¸®°ïÀ» ·£´õ¸µ Çϱ⠶§¹®¿¡ BSP¸¦ È®ÀåÇÑ Solid BSP¸¦ »ç¿ëÀ» ÇÑ´Ù
  -1.convex °ø°£ ; 4°³ÀÇ º®À¸·Î ±¸¼ºµÈ °ø°£À¸·Î
     ¹æ¾È¿¡ º®ÀÌ ´Ù¸¥º®ÀÇ ½Ã¾ß¿¡ ÀüÇô ºí·ÏÀ¸·Î °¡·ÁÁöÁö ¾Ê´Â,
     °üÂûÀÚ°¡ ¾îµð ÀÖ´ÂÁö¿¡ ´ëÇØ ¾Æ¹«·± ¹®Á¦°¡ ¾ø´Â °ø°£
  -2.¿ì¸®°¡ °ø°£À» ³ª´«´Â ÀÏÀ» ÇÑ´Ù´Â °ÍÀº Ç¥¸éÀ» ³ª´©´Â °ÍÀ¸·Î
     °ø°£À» ±¸¼ºÇÏ´Â ºÐÇÒ¸éÀÇ ¸ðµç ¾Õ°ú µÚÀÇ ÇÏÀ§±îÁö ³ª´©¾î¼­ °¢°¢ÀÇ °ø°£À» convexÇÏ°Ô ¼¼ºÐÇÑ´Ù.
  -3.³ëµå¸¦ Æ÷ÇÔÇÑ Æ®¸®¿¡¼­ ¾î¶²°ÍÀº leaves·Î ºÒ¸®¿öÁø Ưº°ÇÑ ³ëµå·Î ÀÌ·ç¾îÁ® Àִµ¥, ÀÌ´Â Æ®¸®ÀÇ °¡Àå¹Ù±ùÂÊ¿¡ ÀÖ´Â ´ëºÎºÐÀÇ ³ëµåµéÀÌ¸ç ¾î¶°ÇÑ Àڽijëµåµµ °¡Áö°í ÀÖÁö ¾Ê´Ù.
  ÀÌ°ÍÀÌ ¹Ù·Î convex ¼¼ºÎ °ø°£ÀÌ°í, convex·Î Á¤ÀÇµÈ Æú¸®°ïÀ» Æ÷ÇÔÇÑ´Ù.

  °³³ä; http://seojewoo.pe.kr/activex/opengl/bsptree(kor).htm
  Âü°í; http://www.xmission.com/~pdalton/directX.html

*.½Ç¿Ü
20030915 Quadtrees
  http://www.gpgstudy.com/kgdp/view.php/3darticles/quadtree?view=quadtree.html

20030916 LOD
  http://www.gvu.gatech.edu/people/peter.lindstrom/papers/siggraph96/siggraph96.pdf
http://gpgstudy.com/gpgiki/ClodTerrainMeshingUsingAdaptiveQuadtrees

20030917 ROAM(Real-time Optimally Adapting Meshes)
  ; ÀÌÁø »ï°¢Çü Æ®¸®(Binary Triangle Tree)¿¡ ±â¹ÝÇÑ ¾Ë°í¸®Áò
  ; LODÁöÇü ¾Ë°í¸®ÁòÀÇ ¼¼ºÎ Ç¥Çö ±â¹ý

  http://www.g-matrix.pe.kr/ ÀÇ Features/ 3D Engine/
         Realtime Dynamic Level of Detail Terrain rendering with ROAMÁ¦¸ñÀ¸·Î ¹ø¿ª
  
  -1.°³¿ä
    -.¿©±â¿¡¼­ °¢ ÆÐÄ¡´Â ´Ü¼øÈ÷ (¿ìÃøÀÇ) À̵ »ï°¢ÇüÀÌ´Ù. »ï°¢ÇüÀÇ Á¤Á¡¿¡¼­
      ÀÌ »ï°¢ÇüÀÇ ºøº¯ÀÇ ÁßÁ¡À» ºÐÇÒÇÏ¸é µÎ °³ÀÇ »õ·Î¿î À̵(¿ìÃø) »ï°¢ÇüÀ» ¸¸µç´Ù.
    --> ÀÌ·¯ÇÑ ºÐÇÒÀº Àç±ÍÀûÀÌ¸ç ¿øÇÏ´Â µðÅ×ÀÏ ¼öÁØ¿¡ À̸¦ ¶§±îÁö Àڽijëµåµé¿¡¼­µµ ¹Ýº¹
    --> »ï°¢ÇüµéÀÇ ÁÂÇ¥´Â ¼øȸ µµÁß Áï¼®¿¡¼­ °è»ê
    
    -.¾ÆÁÖ ±âº»ÀûÀÎ ¼öÁØ¿¡¼­ºÎÅÍ °ÅÀÇ ¿¬¼ÓÀûÀÎ ´Ü°è·Î ¾ÆÁÖ Áøº¸µÈ ÃÖÀûÈ­±îÁö ±¸Çö
    --> °¢°¢ÀÇ ´Ü°è´Â °è¼ÓÇϱâ Àü¿¡ À¯È¿È­/ ¾ÆÁÖ ºü¸£°Ô ºÐÇÒÇÏ¸ç ³ôÀ̸ÊÀ» µ¿ÀûÀ¸·Î °»½Å

    -.Àç±ÍÀû¹æ¹ýÀÇ ÁÁÀºÁ¡ Áß ÇÑ°¡Áö´Â ¾î¶² ¹öÅؽº´ç µ¥ÀÌÅÍ(per Vertex Data)µµ ÀúÀåÇÏÁö
      ¾Ê´Â´Ù(¹öÅؽº¿¡ °ü·ÃµÈ ¾î¶² µ¥ÀÌÅ͵µ ÀúÀåÇÏÁö ¾ÊÀ½(?))´Â Á¡Àε¥
      ÀÌ´Â ·¥ÀÇ »ç¿ë·®À» ÁÙÀϼö ÀÖ´Ù.

    -.»ç½Ç TriTreeNode±¸Á¶Ã¼´Â ³Ê¹« ÀÚÁÖ »ý¼ºµÇ°í Æı«µÇ¹Ç·Î °¡Àå È¿À²ÀûÀÎ ¹æ¹ýÀ¸·Î
      ¸Þ¸ð¸®¸¦ ÇÒ´çÇÏ´Â °ÍÀº ¹Ýµå½Ã ÇÊ¿äÇÏ´Ù. ¶ÇÇÑ ¿©±â¿¡´Â ÀÌ·¯ÇÑ ±¸Á¶Ã¼µéÀÌ ¼ö¸¸°³°¡
      ÀÖÀ¸¹Ç·Î ÇϳªÀÇ ¿©ºÐÀÇ Æ÷ÀÎÅ͵µ ¾öû³ª°Ô ¸¹Àº ¸Þ¸ð¸®¸¦ ¿ä±¸ÇϰԵȴÙ.

  -2.±âº»±¸Á¶
struct TriTreeNode {
¡¡¡¡¡¡¡¡ TriTreeNode *LeftChild; // Our Left child
¡¡¡¡¡¡¡¡ TriTreeNode *RightChild; // Our Right child
¡¡¡¡¡¡¡¡ TriTreeNode *BaseNeighbor;
¡¡¡¡¡¡¡¡ ¡¡¡¡ // Adjacent node, below us
¡¡¡¡¡¡¡¡ TriTreeNode *LeftNeighbor;
¡¡¡¡¡¡¡¡ ¡¡¡¡ // Adjacent node, to our left
¡¡¡¡¡¡¡¡ TriTreeNode *RightNeighbor;
¡¡¡¡¡¡¡¡ ¡¡¡¡ // Adjacent node, to our right
};

  -3.°¢°¢ÀÇ Patch°´Ã¼´Â ¸Þ½¬ ±Ù»çÈ­(ºÐÇÒ)¸¦ À§ÇØ È£Ãâ
   ÆÐÄ¡´Â ½ºÅ©¸°»ó¿¡ Ç¥½ÃµÉ Æ®¶óÀ̾ޱÛÀÇ ¾Ï½ÃÀûÁÂÇ¥(x, y, z¿Í °°Àº ¸í½ÃÀû ÁÂÇ¥°¡ ¾Æ´Ô)
   ¸¦ ÀúÀåÇÏ´Â ÀÌÁø »ï°¢ÇüÆ®¸®ÀÌ´Ù.
    -.³ôÀÌ¸Ê ÆÄÀÏÀº ¸Þ¸ð¸®¿¡ ·Îµå
    -.ÀÌ ¾Ë°í¸®ÁòÀÇ ³ª¸ÓÁö ºÎºÐ¿¡¼­ »ç¿ëµÈ Æ®¸®±¸Á¶´Â ±íÀÌ¿¡ µû¶ó Áö¼öÀûÀÎ Å©±â·Î
      ·¥ÀÇ »ç¿ë·®À» ´Ã¸°´Ù. µû¶ó¼­ ÀÛÀº ¿µ¿ªÀ» À¯ÁöÇÏ´Â °ÍÀº ±× ±íÀ̸¦ Á¦ÇÑÇÏ´Â °ÍÀÌ´Ù.
    -.³ôÀ̸ÊÀÇ µ¿Àû°»½ÅÀ» À§Çؼ­´Â º¯°æµÈ Áö¿ª¿¡ ´ëÇÑ
      ÆíÂ÷Æ®¸®(Variance Tree)¸¦ ¿ÏÀüÇÏ°Ô ´Ù½Ã °è»êÇØ¾ß ÇÑ´Ù.
      ¾ÆÁÖ Å« ÆÐÄ¡ÀÇ °æ¿ì ½Ç½Ã°£ ¾îÇø®ÄÉÀ̼ǿ¡¼­ °è»êÇϱ⿡´Â ³Ê¹« ´À¸®´Ù.
    -.Ä¿´Ù¶õ Á¤»ç°¢ Ç÷Եé(Á¤»ç°¢Çü ¿µ¿ª)À» °ü¸®ÇÏ¸ç °¢ÀÚ ÀÚ½ÅÀÇ Ç÷ÔÀ» °¡Áø
      ´Ù¸¥ (Á¤»ç°¢ Ç÷Եé(Á¤»ç°¢Çü ¿µ¿ª)À» °ü¸®ÇÏ´Â) LandScape °´Ã¼¿Í µ¿ÀÛÇÑ´Ù.
      ÀÌ·¯ÇÑ ¼³°è´Â Á»´õ Å« ÁöÇüÀ» ºÒ·¯µéÀÌ°í ½ÍÀ» ¶§ À¯¿ëÇÏ´Ù.
    -.ÃʱâÈ­°úÁ¤¿¡¼­ ³ôÀÌ ¸ÊÀº Á»´õ °ü¸®°¡ ¿ë¾ÆÇÑ Á¶°¢µé·Î ºÐÇҵǸç
      »õ·Î¿î Patch°´Ã¼·Î µÈ´Ù.

class Patch {
public:
¡¡¡¡ void Init( int heightX, int heightY,
¡¡¡¡ ¡¡¡¡ ¡¡¡¡ int worldX, int worldY,
¡¡¡¡ ¡¡¡¡ ¡¡¡¡ unsigned char *hMap);
¡¡¡¡ ¡¡¡¡ ¡¡¡¡ ¡¡¡¡ // Initialize the patch
    ...
};

  -4.¼¼ºÐÇÏ´Â ±âÁØ
   ³ôÀ̸ÊÀ» À§ÇÑ ¸Þ½¬ ±Ù»ç°ªÀ» »ý¼ºÇÒ ¶§ ¿ì¸®´Â ¿øÇÏ´Â µðÅ×ÀÏ ·¹º§¿¡ µµ´ÞÇÒ¶§±îÁö
   Æ®¸®¿¡ Â÷ÀÏµå ³ëµåµéÀ» Àç±ÍÀûÀ¸·Î Ãß°¡ÇÑ´Ù.
    -.¸ÕÀú ¿ì¸®´Â ¸Þ½¬ ±Ù»çÈ­ °úÁ¤¿¡¼­ ¹ß»ýÇÏ´Â °¡½ÃÀûÀÎ ¿¡·¯µéÀ» ÃøÁ¤ÇÏ´Â °ªµéÀ» Á¤ÀÇ
      ³»°¡ »ç¿ëÇÏ´Â ¹æ¹ýÀº Tread Marks¿£ÁøÀÌ "Variance(ÆíÂ÷)"¶ó°í ºÎ¸£´Â °ÍÀ» Âü°í
    -.Variance(ÆíÂ÷, º¯ÀÌ)¶õ ÀÌÁø »ï°¢ÇüÆ®¸®ÀÇ ºøº¯ÀÇ ÁßÁ¡ÀÇ º¸°£µÈ ³ôÀÌ¿Í
      ±× ÁöÁ¡¿¡¼­ÀÇ ½ÇÁ¦ ³ôÀÌ Çʵ尪ÀÇ Â÷ÀÌ
      triVariance = abs( centerZ - ((leftZ + rightZ) / 2) );
    -.´ë°³ ÆíÂ÷ °è»êÀº ¸Å ÇÁ·¹ÀÓ¸¶´Ù ÇÊ¿äÇÏÁö¸¸ ¹èÈÄÀÇ ³ôÀÌÇʵ尡 º¯ÇÏÁö ¾Ê´Â ÇÑ
      ±× °ªÀº º¯ÇÏÁö ¾ÊÀ» °ÍÀÌ´Ù.
    --> µû¶ó¼­ »ï°¢ÇüÆ®¸®¿Í ÇÔ²² ÀÛµ¿ÇÏ´Â ÆíÂ÷Æ®¸®ÀÇ °³³äÀ» µµÀÔÀÌ °¡´É
        ÆíÂ÷Æ®¸®(Variance Tree)´Â ¼øÂ÷¹è¿­·Î ÀÛ¼ºµÈ Àüü ³ôÀÌÀÇ ÀÌÁø Æ®¸®·Î½á,
        ¸î °³ÀÇ °£´ÜÇÑ ¸ÅÅ©·ÎµéÀº Æ®¸®¸¦ È¿À²ÀûÀ¸·Î ¼øȸÇÒ¼ö ÀÖ°Ô ÇØÁÖ°í
        ¿ì¸®°¡ ÀÌ Æ®¸®¿¡ ä¿ö³ÖÀº µ¥ÀÌÅÍ´Â ³ëµå´ç Â÷ÀÌÀÎ ÇѹÙÀÌƮ¥¸® °ªÀÌ´Ù.
    
  -5.ºÐÇÒ
   ¿ì¸®ÀÇ ¿¡·¯ÃøÁ¤Ä¡(ÆíÂ÷)°¡ ÁÖ¾îÁú ¶§ ƯÁ¤ ÁöÁ¡¿¡ ´ëÇØ ÀÌ ÆíÂ÷°¡ ³Ê¹« ³ôÀ¸¸é
   ÇØ´ç ÀÌÁø »ï°¢Çü Æ®¸®¸¦ ºÐÇÒÇϱâ·Î °áÁ¤ÇÒ °ÍÀÌ´Ù.
   Áï ÇöÀç »ï°¢Çü ¾Æ·¡ÀÇ ÁöÇüÀÌ ¿ïÅüºÒÅüÇÏ¸é ´õ ³ªÀº ±Ù»çÈ­¸¦ À§ÇØ ÀÌ »ï°¢ÇüÀ»
   ºÐÇÒÇØ¾ß Çϸç, ºÐÇÒÀº ÆоƮÀÇ ¿µ¿ª¿¡ ²À µé¾î¸Â´Â µÎ °³ÀÇ Â÷Àϵå³ëµå¸¦ »ý¼ºÇÑ´Ù.

   ¾î¶² ½ÃÁ¡¿¡¼­ ¿ì¸®´Â ÇϳªÀÇ Æ®¶óÀ̾ޱ۷Π±Ù»çÈ­ÇÒ¼ö ÀÖÀ» Á¤µµ·Î
   ÃæºÐÈ÷ ºÎµå·¯¿î ÁöÇüÀ» ¹ß°ßÇϰųª ´õ ÀÌ»ó ÁøÇàÇÒ ´Ü°è°¡ ¾ø°Ô µÉ °ÍÀÌ´Ù.
   °á±¹ ¿ì¸®´Â ³ôÀÌÇʵåÀÇ Çػ󵵱îÁö µû¶ó ³»·Á°£ ¸Þ½¬¸¦ »ý¼ºÇϰԵȴÙ.(?)
    -.¹®Á¦Á¡_1
      ÁöÇü»ó¿¡¼­ ¼­·Î ÀÎÁ¢ÇÏ´Â ÀÌÁø »ï°¢ÇüÆ®¸®µéÀ» ºÐÇÒÇÒ ¶§ ¸Þ½¬³»¿¡ Å©·¢ÀÌ Á¾Á¾ ¹ß»ý
    --> ÀÌ´Â ÆÐÄ¡°æ°è¿µ¿ª Àüü¿¡ °ÉÃÄ ÀÌ Æ®¸®µéÀ» ±ÕÀÏÇÏ°Ô ºÐÇÒÇÏÁö ¾ÊÀº °á°ú·Î½á,
        ROAMÀº ³×À̹öÆ÷ÀÎÅÍ¿Í ¸Þ½¬ ÀÚüÀÇ Èï¹ÌÀÖ´Â »ç½ÇÀ» ÀÌ¿ëÇؼ­ ÇØ°áÇϴµ¥
        Æ¯Á¤ ³ëµåÀÇ ÀÌ¿ôÀº
        µ¿ÀÏÇÑ ·¹º§À̰ųª ÇÑ·¹º§ ´õ µðÅ×ÀÏ(ÁÂ/¿ìÃø ÀÌ¿ô(neighbor)ÀÇ °æ¿ì)Çϰųª
        ÇÑ ·¹º§ ´ú µðÅ×ÀÏ(º£À̽ºÀÌ¿ôÀÇ °æ¿ì)ÇÏ´Ù.
    ==> ±Í°áµÈ ´Ü¼øÇÑ ±ÔÄ¢;
      ÇöÀç³ëµå¿Í ±× º£À̽º³×À̹ö(ÀÌ¿ô)°¡ µÑ´Ù ¼­·Î¸¦ °¡¸®Å°´Â °æ¿ì¿¡¸¸ ºÐÇÒÇÑ´Ù.
      (ÀÌ·¯ÇÑ °ü°è¸¦ ´ÙÀ̾Ƹóµå¶ó°í ÇÑ´Ù.)
      ´ÙÀ̾Ƹóµå³»ÀÇ ÇϳªÀÇ ³ëµå¸¦ ºÐÇÒÇÏ¸é ¸Þ½¬³»ÀÇ Å©·¢À» ¹ß»ý½ÃÅ°Áö ¾Ê°íµµ
      ´Ù¸¥ ÇÑÂÊ¿¡ ¹Ì·¯¸µµÉ¼ö ÀÖÀ¸¹Ç·Î À̴ Ư¼öÇÑ °æ¿ìÀÌ´Ù(?).

    -.¾î¶² ³ëµå¸¦ ºÐÇÒÇÏ·Á°í ½ÃµµÇÒ ¶§ ¼¼°¡ÁöÀÇ °æ¿ì°¡ Á¸ÀçÇÑ´Ù.
     1. ÀÌ ³ëµå´Â ´ÙÀ̾ƸóµåÀÇ ÀϺÎÀÌ´Ù.  - ÀÌ ³ëµå¿Í ÀÌ ³ëµåÀÇ º£À̽º³×À̹ö¸¦ ºÐÇÒÇÑ´Ù.
     2. ÀÌ ³ëµå´Â ¸Þ½¬ÀÇ °¡ÀåÀÚ¸®¿¡ ÀÖ´Ù. - ´ÜÁö ÀÌ ³ëµå¸¸ ºÐÇÒÇ϶ó.
     3. ÀÌ ³ëµå´Â ´ÙÀ̾ƸóµåÀÇ ÀϺΰ¡ ¾Æ´Ï´Ù. - º£À̽º ³×À̹ö¸¦ °­Á¦ÀûÀ¸·Î ºÐÇÒÇ϶ó.
(°­Á¦ºÐÇÒÀº ´ÙÀ̾Ƹóµå¸¦ ¹ß°ßÇϰųª °¡ÀåÀÚ¸® Æ®¶óÀ̾ޱÛÀ» ¹ß°ßÇÒ ¶§
        ³¡³ª´Â ¸Þ½¬ÀÇ Àç±ÍÀûÀÎ ¼øȸ(traverse)ÀÌ´Ù.)

  -6.Àû¿ë; ³ôÀÌÇʵåÀÇ Æ¯Á¤¿µ¿ªÀ» Ä¿¹öÇÏ°í ÀÖ´Â µÎ °³ÀÇ ÀÌÁø »ï°¢ÇüÆ®¸®·Î ±¸¼ºµÈ
     ÇϳªÀÇ ÆÐÄ¡°¡ ÁÖ¾îÁú ¶§ ¿ì¸®´Â ´ÙÀ½ÀÇ ¿¬»êµéÀ» ¼öÇàÇÒ¼ö ÀÖ´Ù.
     1. ÆíÂ÷Æ®¸®(Variance Tree)¸¦ °è»êÇ϶ó. - ¿ÏÀü ³ôÀÌ ÀÌÁøÆ®¸®¸¦ °¢°¢ÀÇ
      ÀÌÁø »ï°¢ÇüÆ®¸®¿¡ ´ëÇÑ ÆíÂ÷µ¥ÀÌÅͷΠä¿ì¶ó.
      ¿©±â¿¡¼­ ÆíÂ÷¶õ ¿ì¸®ÀÇ ±Ù»çÈ­°¡ ÃæºÐÈ÷ ±¦ÂúÀºÁö¸¦ °áÁ¤Çϱâ À§ÇØ »ç¿ëÇÏ´Â ÃøÁ¤°ªÀÌ´Ù.
      »ï°¢ÇüÀÇ ºøº¯ÀÇ ÁßÁ¡¿¡¼­ÀÇ ³ôÀÌ°ª°ú ÀÌ ºøº¯ÀÇ ¾ç ³¡Á¡¿¡¼­ º¸°£µÈ ³ôÀÌ»çÀÌÀÇ Â÷ÀÌ´Ù.
     2. ÁöÇüÀ» ºÐÇÒÇ϶ó. - ÆíÂ÷Æ®¸®¸¦ ÀÌ¿ëÇÏ¿© ÃÖ»óÀ§·¹º§ÀÇ ÆíÂ÷°¡ ³Ê¹« Å©´Ù¸é
      Â÷Àϵ带 Ãß°¡ÇÔÀ¸·Î½á ¿ì¸®ÀÇ ÀÌÁø »ï°¢ÇüÆ®¸®¸¦ ºÐÇÒÇÒ °ÍÀÌ´Ù.
     3. °­Á¦ºÐÇÒ. - ¿ì¸®°¡ ºÐÇÒÇÏ·Á°í ÇÏ´Â ³ëµå°¡ ´ÙÀ̾ƸóµåÀÇ ÀϺΰ¡ ¾Æ´Ï¶ó¸é
      ÀÌ ³ëµå¿¡ ´ëÇØ °­Á¦ºÐÇÒ ÇÔ¼ö¸¦ È£ÃâÇ϶ó.
      ÀÌ´Â ¿ø·¡ÀÇ ºÐÇÒÀ» ¿Ï¼ºÇÏ´Â ´ÙÀ̾Ƹóµå¸¦ ÁÙ °ÍÀÌ´Ù.
     4. ¹Ýº¹ - ÀÌ·¯ÇÑ ºÐÇÒ°úÁ¤À» ÀÌÁø »ï°¢ÇüÆ®¸®³»¿¡ Á¸ÀçÇÏ´Â ¸ðµç »ï°¢ÇüµéÀÌ
      ÇöÀç ÇÁ·¹ÀÓ³»ÀÇ ÆíÂ÷ÇÑ°è ÀÌÇÏ·Î µÉ ¶§±îÁö ¶Ç´Â ´õ ÀÌ»ó ºÐÇÒÇÒ ³ëµå°¡ ¾øÀ» ¶§±îÁö
      Â÷ÀÏµå ³ëµåµé¿¡ ´ëÇØ ¹Ýº¹ÇÑ´Ù.

*.Èæ¹éÀ¸·Î ¸¸µé±â À§Çؼ­ RGB¸¦ Gray·Î ¹Ù²Ù±â À§ÇÑ ¿¬»ê
float gray = Color.r * 0.3 + Color.g * 0.59 + Color.b * 0.11;




Backward Forward Post Reply List