Your SlideShare is downloading. ×
04_장면 관리 개요
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

04_장면 관리 개요

241

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
241
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. °ÔÀÓ¿¡¼-Ç Àå¸é °ü¸® ÇÁ·Î±×¡¹Ö °³¿ä ÚÀ¥Çß¹ : ÍÀº¼è± (noerror@itel.net) h ÏÀ¥Çß¹ : 2004.10.101
  • 2. I. INTRODUCTION é¸åÀ ®¸ü° (Scene Managing) °³¿ä+ °ÔÀÓ¿¡¼- ó¸®ÇÏ´Â °³Ã¼ ö ¡ ¸¹¾ÆÁö + °³Ã¼ ¼ö = ¾À¿¡ 1000°³ÀÇ ¿ÀºêÁ§Æ®°¡ °Å³ª, Ç¥ ö ¿µ ªÀÌ ³Ð¾îÁú °æ¿ì, ·»´õ¸µ, Àִµ¥, ½ÇÁ¦·Î Æò±ÕÀû ¸·Î È-¸é¿¡ ·» Ãæµ¹ üũ µîÀÇ Áö¿ªÀûΠ󸮿¡ Á» ´õ ´õ¸µ µÇ´Â °ÍÀÌ 50°³ Á¤µ¶ó°í Çϸé Àå È¿À²ûÎ Á¢±ÙÀÌ ÇÊ¿äÏ´Ù. ¸é °ü¸®¡ ÇÊ¿äÏ´Ù ° í Ç Ò ¼ ö À Ö´ Ù. + ¿µªÀÇ ³ÐÀÌ = 1Km ¿¡ ¿ÀºêÁ§Æ®µéÌ î¾Çµ÷Æк »ÀÖ §¶ ßþ½ ¡°®¸Å 10M ó¶ ¸é ¸ðµç ¿ÀºêÁ§Æ®Ç ´Ü¼ø ºä Äøµº´Ù È¿À²ûÎ ¹æýÀÌ ÇÊ¿äÏ´Ù. + °ÔÀÓ¿¡¼- °³Ã¼¸¦ °Ë»öÇÒ ÇÊ¿ä°¡ ÀÖ´Â ¸¹Àº ºÐ¾ß¿¡¼- Àå¸é °ü¸®¡ ÇÊ¿äÏ´Ù. ¿ÀºêÁ§Æ® ·»´õ¸µ, Ãæµ¹ ³¸® ¿µÇâÁÖ´Â ¶óÀÌÆà °Ë»ç ±ÙÁ¢ÇÑ ¿ÀºêÁ§Æ® ¸®½ºÆ GTA3 – r S t u d i aR o s c k2
  • 3. é¸åÀ ®¸ü° ÒǪ¿·»´õ¸µ °üÁ¡ + Àå¸é°ü ® => ÃÖ¼ÒÀÇ Å½»öÀ¸·Î Ãæµ¹ °¡´É¼º ÀÖ´Â ¿ÀºêÁ§Æ®¸ °Ë»ö+ °ÔÀÓ¿¡¼-´Â ·»´õ¸µ ¼Óµ °¡ Å« ¿µÇâÀ» Á Ü >= " °¡Àå ºü¸¥ ·»´õ¸µÀº ±×¸®Áö ¾Ê Á¤¸®ÇÏé ´Â°Í “ + ¸¹Àº ¿ÀºêÁ§Æ®µé Áß¿¡¼- ó¸®ÇÏ°íÀÚ+ Àå¸é °ü¸®´Â È-¸é¿¡ ·»´õ¸µ µÈ °¡´É ÇÏ´Â ¿µ ª ¡ Æ÷ÇÔµÈ, °á ú¿¡ ¿µÇâÀ» ÁÙ ¼ºÀÌ ÀÖ´Â °Íµé¸ ÃÖ¼ÒÀÇ Å½»öÀ¸·Î ºü °¡´É¼ºÀÌ ÀÖ´Â °³Ã¼¸ ºü¸£°Ô °Ë»öÇÏ´Â ¸£°Ô °Ë»ö °ÍÀÌ Àå¸é °ü¸®ÀÇ ±âº»Ãæµ¹³¸® °üÁ¡ °ÔÀÓ¿¡¼- ¸¹ÀÌ »ç¿ë µÇ´Â ±â¹ý+ ÇÑ ÇÁ·¹ÀÓ¿¡ N°³ÀÇ ¿ÀºêÁ§Æ®¡ ¹°¸® + ÄõµåÆ®¸ ¸¦ Àû¿ëÇÒ °æ¿ì ¿ÀºêÁ§Æ®°£Ç Ãæµ¹ °Ë + ¿ÁÆ®¸ »ç N x (N-1) ¹ø ÀϾ°Ô µÊ >= “°¡ + k-d ®¸Æ Àå ÁÀº °ÍÀº Ãæµ¹ °¡´É¼ºÀÌ ¾ø´Â ¿Àºê + BSP Á§Æ®µé°ú´Â Ãæµ¹ °Ë»ç¸¦ ÇÏÁö ¾Ê´Â °Í ” 3
  • 4. II. ÀϹÝûÎ Àå¸é °ü¸® ±â¹ýÀϹÝûÎ Àå¸é °ü¸® ±â¹ýµéÀÇ °øÅëÁ¡ °øÅëÀûÎ ¼öµÄÚå (Pseudo Code)+ °èÃþÀû ¸·Î °ø £À» ºÐÇÒ ±¸¼ºÇÏ¿© °³ (,åµë³ ) { ö»½Å ª¿µ ç»Ë° ü ¸®½ºÆ¦ °ü¸®ÇÑ´Ù. or(i=0; i<;ö¼Ä½ÚÀ f i+) { + if ((.i.,åµî¿Ù¹ )) { ÔÇ÷Æ åµë³ [ĽÚÀ ] ª¿µ ç» Ë°+ ¸ðµÎ Æ®¸ ±¸Á¶·Î µÇ¾î ÀÖ´Ù. if (.i].º¼Ó = ) { åµë³ [ĽÚÀ Á®Ç¸ or(j0; .i].;ö¼ÛÅÌÀƾ ) { f = å µ ë ³ < j [ Ä ½ Ú À j++ ƯÁ¤ ³ëµå(ºÎ¸ð)ÀÇ ÇÏÀ§ ³ëµå(ÀÚ½Ä)°¡ if ((.i.,]jÛ[ÅÌÀƾ )) ÔÇ÷Æ åµë³ [ĽÚÀ ] ª¿µ ç»Ë° Test¿¡ Åë°úÇÏÁö ¾Ê´Â ´Ù¸é ±× ÀÌÇÏ´Â (.i.) ®¸³Ã åµë³ Ä[½ÚÀ ] ]j[ÛÅÌÀƾ °Ë»çÇÒ ÇÊ¿ä°¡ ¾ø´Ù. } } else+ Àç±Í û ΠŽ»ö¿¡ ÀûÇÕ Ñ ÇüÅ´Ù. (.i,] ) ö»½Å åµë³ [ĽÚÀ ª¿µ ç»Ë° }+ ¾Ë°í¸®ÁòÀû Î Á¢±ÙÀÌ â ¶§¹®¿¡ ¿µ ª } ÀÇ Å©±â¿Í ¿ë·®ÀÌ ºñ·ÊÇÏÁö ¾Ê´ÂÙ. } 4
  • 5. 1. ÄõµåÆ®¸ (Quadtree)+ µÎ °¡Áö Ãà(ÀϹÝû¸·Î X, Y)·Î °¢ ³ë + °ÔÀÓ¿¡¼- ³ôÀÌÃà Ç ¿µÇâÀ» Àû°Ô ¹Þ´Â µå¸¦ °è¼ÓÇØ- 4ºÐÇÒ ÇÏ´Â ¹æ½Ä °æ¿ì ¸¹ÀÌ »ç¿ëµÈ´Ù. + ŸÀÏ º£À̽ ¿Í ºñ±³ÇÏ¸é ¿µ ªÀÇ Å©±â ¿¡ µû¶ó °Ë»ö ¼ÓµÀÇ ¿µÇâÀ» Àû°Ô ¹ÞÀ¸ ç¸ (ÇÀ¼Ã³° ¡°ö¼ é¸Ù´° 1kʸm ÷Èø¼Ü´ ú° 100km ºÀʸ «Å ¡°ÌÀ÷ .), ®·ë¿ Ù´ø¾ ¿ª½Ã ¿µÇâÀ» ¹ÞÁö ¾Ê´ÂÙ. + ÀÌ»óûÎ Æ®¸ÀÎ °æ¿ì ±íÀÌ´Â log 4N À¸·Î 6¸¸°³ÀÇ °³Ã¼ÀÏ °æ¿ì¡µ ±íÀÌ°¡ 4 ·¹º§ Á¤µ ·Î Àû´Ù + °ø £ ±âÁØÀ¸·Î Æ®¸ ¦ ±¸¼ºÇÒ °æ¿ì ¡ ´Â È¿°úÀû ¸·Î º¹ÀâÇÑ °÷Àº ±íÀÌ, ¾Æ´Ñ °÷Àº ³·°Ô ¼³Á¤µÈ´Ù.5
  • 6. ®¸ Æ º¼ý» (1)Æ®¸ ¸µé±â+ ÇöÀç ³ëµå¿¡ Æ÷ÇÔµÈ ¸ðµç ¾ÆÀÌÅÛµé »Á߽ɡ À» ±âºÐÀ¸·Î °¢ ¿µª¡ Æ÷ÇԵȰ͵é·Î ³ª´«Ù. (Áß½ÉÁ¡ÀÇ °áÁ¤¿¡ µû¶óÆ®¸ ÀÇ ¸ð¾çÀÌ ´Þ¶óÁø Ù.)+ °¢ ¿µ ª ¡ Æ÷ÇÔµÈ °Íµé·Î Æ®¸ ¦ ¸ µé¾îÆ®¸ÀÇ ÃÖ»óÀ§ ³ëµå¸¦ Àڽĸ·Î ºÙ ÀδÙ. Æ®¸¦ ³ª´©Â Á߽ɡ+ Æ®¸ÀÇ ±íÀÌ°¡ ³Ê¹« ±í¾îÁö°Å³ª ¿Àºê Á§Æ®¼ö°¡ Àû´çÇÑ ¼ö ÀÌÇÏÎ °æ¿ì ´õ ÀÌ + Æ®¸¦ ±¸¼ºÇÒ ¶§ °¡Àå ¿µÇâÀ» ¸¹ÀÌ »ó ³ª´©Áö ¾ÊÀ¸ç, ÀÌ ³ëµå¸¦ ¸®ÇÁ(Leaf) ÁÖ´Â ºÎÐÀ¸· °¡Àå ±ÕÇü ÀâÈù Æ®¸¦ ¶ó°í ºÎ¸£ç ¾ÆÀÌÅÛµé ¸®½ºÆ¦ °¡Áöí À§Çؼ-´Â Æ÷ÇÔµÈ ¾ÆÀÌÅÛ» 4µîºÐÇÒ ¼ö ÀÖ´Ù. ÀÖ´Â Áö¡ÀÌ´Ù. 6
  • 7. ®¸ Æ º¼ý» (2)+ ÀÏ¹Ý û ¸·Î´Â °ø £À» ±ÕÀÏÇ °Ô ºÐÇÒ + ³ëµå¿¡ ¾ÆÀÌÅÛ » Æ÷ÇÔ½ÃÅ° í ÇÏÀ§ ³ë ÇÑ´Ù. => ºñ±³Àû °øÆòÇÑ °á ú ¡ ³ª¿À¸ç, µå¿¡ ³ÖÁö ¾Ê´ÂÙ. µ¿ÀûÎ °³Ã¼ À§Ä¡ À̵¿ µîÀ¸·Î Æ®¸ÀÇ ¸®ÇÁ¿¡ Áߺ¹µÇ¾î µî·Ï ÇÁö ¾ÊÀ¸³ª, »ó ¸ð¾çÀÌ Àß ±úÁö ¾Ê´ÂÙ. À§¿¡ µî·ÏÉ °æ¿ì ½ÇÁ¦ °áú¿Í »ó°ü¾ø³ª´©Â ¿µª¡ ¾ÆÀÌÅÛ °ãÄ¡´Â °æ¿ì ÀÌ °Ë»öµÇ±â ¶§¹®¿¡ ¼ö°¡ ¸¹Àé È¿À² ÀÌ ¶³¾îÁú ¼ö ÀÖ´Ù.+ °ãÄ¡´Â ¸ðµç ³ëµå¿¡ Æ÷ÇÔ½ÃŲ´Ù. + ´À½¼ÇÑ ³ëµå¸¦ ¸ µç´Ù. Æ®¸ÀÇ ³ëµå ¼ö°¡ ¾à°£ Áõ°¡ÇÒ ¼ö ÀÖÀ¸³ª, °Ë»ö¿¡ Å« ¹«¸®´Â ¾ø´Ù. °ãÄ¡´Â °æ¿ì 4 ¿µª Áß ÀÓÇ ÇϳªÀ ¿µª¡ Æ÷ÇÔ½ÃŲ´Ù. ÇϳªÀ ¾ÆÀÌÅÛ(°³Ã¼)ÀÇ ¿©·¯ °³ÀÇ ¸®ÇÁ¿¡ Æ÷ÇÔµ±â ¶§¹®¿¡ ÇϳªÀ ¾ÆÀÌÅÛ ¸®ÇÁ¿¡ Áߺ¹ µî·ÏÇÁö ¾Ê´ÂÙ ¿©·¯ °³ °Ë»ö µÉ ¼ö ÀÖ¸¹Ç·Î Áߺ¹ °Ë»ö ÇÏÀ§ ³ëµå´Â Æ÷ÇÔÑ ¾ÆÀÌÅÛµé·Î ¹Ù¿î ¿¡ ´ëÇÑ Ã³¸®°¡ ÇÊ¿äÏ´Ù. µå ¿µªÀ» »õ·Î ±¸ÇÑ ÈÄ ÀúåÇÑ´Ù. 7
  • 8. ®¸ Æ º¼ý» (3)CQuadTree:_NODE * CQuadTree : BuildTree(RECT *rectlist, int * itemid x, int if (n = 0)num, const RCT &bound, int l) E v { / null node{ node->child[side] = NU;L int * temp = new int [num;] } else int i, n, side; if (l+v1 >= _MXA_DEPTH | n <= _MAITM) X_ E _NODE * node; { / leaf int * leaf = new int n1]; [ + node = new _NODE; or(i=0; i<n; i+) f memset(node, 0, sizeof(_NOD)); E leafi] = temp[i;] [ lea[fi] = -1; node->pivot.x = (bound.let + bound.right) / 2; f node->child[side] = lea;f node->pivot.y = (bound.top + bound.botto) / 2; m node->ask |= 1<side; m } else for(side=0; side4; side+) < { / node { node->child[side] = BuildTree(rectlist, tep, n, localbound, l1); m v+ RECT localound = Diide(ound, node->piot, side); b v b v } } for(i0, n0; i<num; i+) = = delete ][ tep; m if (ContactTest(rectlist[itemidx[i], localbound) = true) return node; tempn+] = itemidxi;] [ [ } 8
  • 9. ®¸ ÆåµõÄ ö»½Å (1) {Ž»ö ¾Ë°í¸®Áò int * leaf = (int) node->child[side], i; * for(i=0; leaf[i] => 0; i+)+ ¾Õ¼- ¼Ò°³ÇÑ Å½»ö ¼öµ ÄÚ å¿Í ° ´Ù. { if (m_UpdateCntist[leai] != _UpdateCnt) L f[ m+ ÇÏÀ§ ³ëµå°¡ ¹Ù¿îµå ¡ ¼ÓÇÏ´Â Áö °Ë { if (ContactTest(m_RCT, gTestistleaf[i]) = true) E _ L [ »çÇÏ°í, ¼ÓÇÏ´Â °æ¿ì ÇÏÀ§ ³ëµå°¡ ¸®ÇÁ { ÀÎÁö °Ë»çÇؼ- ¸®ÇÁÀÎ °æ¿ì ±×¸® â, ¾Æ FillRect(mDC, &g_Testist[leai,] NU); _H L f[ L m_UpdateCntist[leai] = UpdateCnt; L f[ m_ ´Ï¸é ´Ù½Ã Àç±Íû¸·Î °Ë»öÇÑ´Ù. } }void plorer(const RCT & rect, NODE * node) Ex E _ }{ } else for(int side0; side<4; side+) = Explorer(rect, (_NODE*) node-child[side]); > { } if (node->child[side] != NUL) } { } if ((side=0&rect.let=<node-piot.x&rect.top=<node->pivot.y) f > v | } (side=1&rect.right>node->pivot.&rect.top<node->piot.y) | = x = v (side=2&rect.left=<node->pivot.x&rect.botto>m=node->pivot.) y | (side=3&rect.right>node->pivot.&rect.bottom>node-piot.y) = x = > v ){ if (node->ask&(1<side)) m 9
  • 10. ®¸ ÆåµõÄ ö»½Å (2)ÇÏÀ§³ëµå°¡ °Ë»ö ¿µª°ú °ãÄ¡´Â Áö °Ë + ºñÆ® ¸¶½ºÆ® ¦ ÀÌ¿ëÇÑ Á᫐ ¡°ú ¿µ ª »çÇÏ´Â ¹æý °Ë»ç µÎ ¹ø° ¿¬»ê ¹æ½ÄÀ» ºñÆ® ¼ÆÃÀ» ÀÌ+ ¼-ºê ¹Ù¿îµå¸¦ ±¸Çؼ- ¿µ ª°ú °Ë»ç ¿ëÇؼ- ¹æ ýÀ¸·Î 󸮰¡ °£´ÜÇØÁø Ù. °Ë»ç ¼Óµ ´Â ´À¸®Áö , ºä ÇÁ·¯½ºÅÒ (¼ÀÇà _OPTIMIZE Àü󸮱â ÀÌ¿ëÇÑ Äøµ½¿¡´Â ÀÌ ¹æý¸ À¯È¿ÇÑ´Ù ºÎÐ ÂüÁ¶) + Á᫐ ¡°ú ¿µ ª°ú °Ë»ç ÀÌ¿ë °¡´ÉÇÑ Æ¯¼º ¾Æ·¡ 0¹ø Æò¸éÀÇ °æ¿ì Á߽ɡ°ú °Ë»öÇÀª¿µ let, topη¸À ÜÇ´Æ . f Ù´ÏÇÉ ¡° + ³ëµå°¡ ¿ÏÀüÈ÷ °Ë»ç ¿µ ª¾È ¡ ÀÖ´Ù¸é ÇÏÀ§ ³ëµå´Â ¸ðµÎ ¿µª¾È¡ Æ÷ÇԵȴÙ. + ¸®ÇÁ°¡ °Ë»ç ¿µ ª¾È ¡ ÀÖ´Ù¸é »óÀ§ ¸ðµç ³ëµå´Â ¿µªÀ» Æ÷ÇÔÑ´Ù + ºÐÇÒ Áö ¡ÀÌ ¿µ ª ¾È¿¡ ÀÖ´Ù¸é ¸ðµç Àڽĺ ¿µªÀ» Æ÷ÇÔÑ´Ù. 10
  • 11. ®¸ ÆåµõÄ ÃÇù»»ùÇà ¾îÇø®ÄÉÀ̼+ È-¸é »ó¿¡ ÀÓ Ç Å©±âÀÇ ¸¹Àº ¼öÀÇ °³Ã¼µé ºÐÆ÷µÇ¾î ÀÖ» ¶§ ÀÓÇ ¿µª À Ç ° ³Ã ¼¸ ¦ ¼ ±Å ÃÇ Ò ° æ¿ ì ´ Ü ¸ î ¹ øÀ Ç Å ½» ö À¸·Î ¿µª¡ Æ÷ÇÔµ´Â °³Ã¼¸¦ ¾òÀ» ¼ö ÀÖ´Ù.+ ¼±Åà ¿µ ª : º¸¶ó»ö+ ¿µ ª ¾È¿¡ ÀÖ´Â ¸®ÇÁ¿¡ ÀÖ´Â ¾ÆÀÌÅÛ : ¹é»ö °³Ã¼, ¹é»ö ¾Æ¿ô¶óÀÎ °³Ã¼+ ÃÖÁ¾ ¼±Åà ¿µ ª¾È ¡ ÀÖ´Â °³Ã¼ : ¹é»öttpdigiat.conoerrordonloah /: b h /m / w d2duadtree.ip / q z 11
  • 12. 2. ¿ÁÆ®¸ (Octree)+ X, Y, ZÃàÀÇ 3°¡Áö Ãà ¼º ÐÀ¸·Î °ø £ + °ø£À» 8µîºÐÇϱ⠶§¹®¿¡ Ž»ö º¹Àâ À» ºÐÇÒÑ´Ù. µ ´Â ÈξÀ ÀÛ¾ÆÁø´Ù. ÀÌ»ó û Î °æ¿ì O(log 8N).+ ÄõµåÆ®¸ ¿Í °ÅÀÇ ´ëºÎ ÐÀÇ Æ¯¼ºÀÌ µ¿ ÀÏÇ´Ù. + ÄõµåÆ®¸ ¿Í ¸¶Âù°¡Áö·Î ±ÕÀÏÇÑ Å©±â ·Î ³ëµå¸¦ ºÐÇÒ ÇÒ °æ¿ì À¯¿¬ÇÏ°Ô µ¿Àû+ QuadTree ¡¿ ÌàÀà ªÏ³Ç ȵ¡°ßà ÂÅüÇ ÀÎ °³Ã¼ °ü¸®µ °¡´ÉÇÏÙ ¶ó°í º¼ ¼ö ÀÖ´Ù.+ °ø £Àû ¸·Î °ñ í·ç ºÐÆ÷µÈ ÇüÅÂÀ ¾À ¿¡ ÀûÇÕÏ´Ù. + ¿¹¸¦ µé¾î ¸Þ½ÃÀÇ »ï°¢Çü ´ÜÀ§ Ç Ãæ µ¹ µðÅ×ÀÏ» °¡Áø´Ù¸é ³»ºÎÀû¸·´Â °¢ÌÀó¶®Æ »ÀéµÞ¾ Octree ηÂÅüÇ í°öÁ¡ ÀÖ¸é È¿À²ûÌ´Ù. 12
  • 13. 3. k-d Tree+ ¿ÁÆ®¸ ³ª Äõµå Æ®¸ ÀÇ °æ¿ì ¾ÆÀÌÅÛµé + ¿ÁÆ®¸ ³ª Äõµå Æ®¸ ¿¡ ºñÇØ ¾ÆÀÌÅÛ Ç ÀÌ ÇÑ ¶óÀλ ÀÌ·ç°Å³ª ÇÑ Æò¸é¿¡ À§Ä¡ º ÐÆ ÷¿ ¡ Å « ¿ µÇ â ¾ øÀ Ì ± ÕÇ ü À Ö´ Â Æ ®¸ ®° ¡ ÇÒ °æ¿ì ºñÈ¿À²û¸·Î Æ®¸°¡ ±¸¼ºµÈ´Ù. ±¸¼ºµÈ´Ù. Äõµå Æ®¸ÀÇ °¡Áö 2°³ÀΠä·Î °è¼Ó + ¾ÆÀÌÅÛ ÀÚÁÖ ¿Å°Ü ´Ù Ò °æ¿ì Æ®¸±¸¼ºµÈ´Ù°Å³ª, ¿ÁÆ®¸ ¡¼- ¾ÆÀÌÅÛ Ç Y ± ÕÇ üÀ » ± ý ¼ ö À Ö± â ¶§¹®¿¡, µ¿Àû Î °³Ã¼°ªÀÌ ¸ðµÎ 0À̶ó°Å³ª ÇÏ´Â ½ÄÀ¸·Î. º¸´Ù Á¤ÀûÎ °³Ã¼¿¡ ÀûÇÕÏ´Ù.+ k-d ´®¸Æ ÇÀ³°Îµ ¦¸öÁ¡° øÁÌÀ ®¸Æ ÀÇ ÀÏÁ¾¸·Î ³ëµåÀÇ ¾ÆÀÌÅÛ» À̺ÐÇÒ Çϱâ ÁÀº ÃàÀ» ¼±ÅÃÇØ- Æ®¸¦ »ý¼º ÇÑ´Ù.+ ³ª´©Â ÃàÀº ÇÑ°¡Áö ¿ä¼Ò (x, y, ÁßÀÇz Çϳª) ¸ À ·Î ºÐÇÒ µÇ±â ¶§¹®¿¡ Ž»ö ¿¬ »êÀÌ Àû°í, °£´ÜÇÏ Ù. 13
  • 14. 4. BSP+ ±âº»Àû Î Æ®¸ ÀÇ ¼Ó ºÀ ÀÌ ü Ç Æ®¸ + Æ®¸ ¦ »ý¼ºÇÏ´Â ½Ã°£ÀÌ ¸¹ÀÌ °É¸ ´Ù. µé°ú µ¿ÀÏÇ´Ù. (°¢ ³ëµå¸¦ ±ÕÇü ÀÖ°Ô À̺ÐÇÏ´Â Æò¸éÀ» ±¸ÇÏ â°¡ ½±Áö ¾Ê´Ù.)+ k-d Í¿®¸Æ ηöÁ¡°ù¶¸ ÇÀ³°Îµ öÁ¡° ¸¦ °¡Áö´Â ÀÌÁø Æ®¸ÀÇ ÇüŸ¦ °¡Áø´Ù. ÄùÀÌÅ©Ç »ç·Ê+ ºÐÇÒ Ï´Â Æò¸éÀº Ãà¿¡ °íÁ¤µÇ¾î ÀÖ´Â + Æú¸®°ïÀ ·Î Æ®¸ ¦ ±¸¼ºÇßÀ ç, ³ëµå °ÍÀÌ ¾Æ´Ï¶ó ÀÓÇ Æò¸éÀÌ µÈ´Ù. (Áï, ¿¡ ÆäÀ̽º ¸®½ºÆ °¡ ÀÖ°í, ¸®ÇÁ´Â °ø £ ¾ÆÀÌÅÛ» ³ª´- ¶§ ÇüÅÂÀ ¿µÇâÀ» ´ú ¹Þ À» ³ªÅ¸½´Ù. °Ô µÇ¸ç, ³ª´©  Æò¸é¿¡ °ãÄ¡´Â °æ¿ì¸¦ + °ãÄ¡´Â Æú¸®°ïÀÌ »ý±æ °æ¿ì ½ÇÁ¦·Î ÁÙÀÏ ¼öµ ÀÖ´Ù.) Æú¸®°ïÀ» ºÐÇÒؼ- Á¤È®ÇÏ°Ô ³ëµå¿¡ ¼Ó+ Á¤Àû Î °³Ã¼µé¿¡ ´ëÇؼ- ±ÕÇü ÀâÈù Çϵ· µÇ¾îÀÖ´Ù. Æ®¸¦ ±¸¼ºÇÏ´Â °ÍÀÌ ÀϹÝûÌ¸ç µ¿Àû + ºä ÄøµÀÇ °æ¿ì Ä«¸Þ¶óÀÇ À§Ä¡¿Í ³ë ÀÎ °³Ã¼ °ü¸®¿¡´Â ÀûÇÕÏÁö ¾Ê´Ù. µåÀÇ ºÐÇÒ Æò¸é°úÀÇ À§Ä¡·Î Ž»öÇÑ´Ù. + Ãæµ¹ bspƯ¡À» ÀÌ¿ëÇؼ- ÃÖÀûÇ 14 Ž»öÀÌ °¡´ÉÇÏÙ
  • 15. III. ·»´õ¸µ ÄøµÀ» À§ÇÑ Àå¸é °ü¸® ±â¹ý+ ´Ü¼øÈ÷ ¿µ ª °Ë»ç³ª ºä ÄøµÀ» ÀÌ¿ë + ½Ç³» ÁöÇü¿¡´Â Æ÷Å»ÀÌ ÀûÇÕ Ï´Ù. ÇÑ Àå¸é °ü¸® ±â¹ýÀÌ ¾Æ´Ï¶ó ±âÇÏÀûÎ + °Å´ëÇÑ °³Ã¼ ¡ Çʵå»ó¿¡ Á¸ÀçÇÏ´Â ¤¡ Ư¼ºÀ» ÀÌ¿ëÇÏ´Â Àå¸é °ü¸® ±â¹ý. ¿©ì¡´Â ¿ÀÄ÷çÁ¯ ÄøµÀÌ µ¿òÀÌ µÈ´Ù.+ ±âÇÏÀû Î ¿¬»êÀÌ µé¾î°¡±â ¶§¹®¿¡ Ž + ´ÝÈù ÁöÇüÀ̰ųª, ¾ð´ö, ¼º ®µîÀÇ Æ¯ »öÀÌ ÀϹÝûΠŽ»öº¸´Ù ºÎ´ã½·¯¿ï ¡ ÀÖ´Â ÁöÇü¿¡¼-´Â PVS°¡ µ¿òÀÌ µÈ ¼ ö À Ö± â ¶ §¹ ®¿ ¡ · »´ õ¸ µ Ç Ò ¶ § Á Ö· Î » ç¿ ë ´Ù. µÈ´Ù.+ Æ÷Å»Àº Ưº°ÇÑ ÇüÅÂÀ Àå¸é °ü¸® ±â ¹ýÀÌ´Ù.+ ¿ÀÄ÷çÁ¯ Äøµ, PVS´Â µ¶¸³È Àå¸é °ü¸® ±â¹ýÀº ¾Æ´ÏÁö¸ Àå¸é °ü¸® ±â¹ý ¿¡ ºÙ¾î¼- °ÀÌ »ç¿ëµÇ´Â ±â¼úÀÌ´Ù.15
  • 16. 1. Æ÷Å» (portal)Ư¡ + Æ÷Å»À ÅëÇؼ- º¸ÀÎ ³ëµå¿¡¼- ´ÙÀ½ ³ëµå·Î ¿¬°á °Ë»çÇÒ ¶§´Â »óÀ§ Æ÷Å»À+ ³ëµå´Â Æ®¸ ±¸¼ºÀÌ ¾Æ´Ñ ¿¬°áÀÌ ÀÚ ÅëÇؼ- º¸ÀÌ´Â Áö °Ë»çÇÑ´Ù. À¯·Î¿î ±×·¡ÇÁÎ ±¸¼ºµÈ´Ù. ·»´õ¸µ ¼öµ ÄÚµå+ ±âº»Àû ¸·Î ³ëµå´Â ±âÇÏÀû ¸·Î ±¸¼º µÇ¾î Àֱ⠶§¹®¿¡ °³Ã¼ ¼öÀÇ ¿µÇâÀ» ¹Þ () { ö»½Å åµë³ Áö ¾ÊÀ¸ ç, °³Ã¼ÀÇ À̵¿ ¡ µû¶ó ³ëµå°¡ (å) Ù´°¸×± µ ë³ or(i=0; i<;ö¼Ä½ÚÀ f i+) { + ¹Ù²îÁö ¾ÊÀ¸¹Ç·Î µ¿Àû¸·Î ó¸® °¡´ÉÇÏ if (.i.ª³ûÇÝ´ = alse) { åµë³ [ĽÚÀ ] f ´Ù. if (È(.i.)) { ª³ÌÀ¸º¡¿é - åµë³ [ĽÚÀ ] »Å÷Æ (.i) ö»½Å åµë³ [ ĽÚÀ ]±âº» ¿øÄ¢ } }+ °¢ ³ëµå´Â ƯÁ¤ ¿µ ªÀ¸·Î ±¸¼ºµÇ ç } ³ëµåÀÇ ¿¬°áºÎ´Â Æ÷Å»ÀÌ Á¸ÀçÇÑ´Ù. }+ ÀÓ Ç ³ëµå¿¡¼- Æ÷Å»ÀÌ º¸ÀÌÁö ¾ÊÀ» °æ¿ì ¿¬°áµÈ ³ëµå´Â ¾È º¸ÀδÙ. 16
  • 17. Æ÷Å» (2)±âŸ+ ¿¬°áµÈ ³ëµå°¡ ÀÛ º Æ÷Å»À ÅëÇØ º¸ ÀÏ °æ¿ì ¹Ì¸® ·»´õ¸µÈ À̹Áö·Î ó¸® ·Î ó¸® °¡´ÉÇÏÙ.+ °ÔÀÓ ³»¿¡¼- ¹®À̳ª µ ±¸·Î Æ÷Å»À °¡¸± °æ¿ì Æ÷Å» ±¸Á¶¿Í ¿¬µÇؼ- ¿¬°á µÈ ³ëµå¸¦ ·»´õ¸µÇÏÁö ¾ÊÀ» ¼ö ÀÖ´Ù+ Ưº°ÇÑ ÇüÅ·ΠÁöÇüÀÌ ±¸¼ºµÇ¾î ß ÇÏ ¸ç, Æ÷Å»ÀÇ ¼³Á¤, ³ëµå °áÁ¤ µîÀÇ µ¥ÀÌ ÅÍ ¼öÁý ¾î·Á¿òÀ¸Î ½±°Ô Àû¿ëÇϱâ Èû µé´Ù.+ ½Ç³» ÁöÇü¿¡ ÀûÇÕ Ï´Ù. ttp.cs.irginia.edulue h w /: v ~/ kepulicationsportals.tl b / b / hm 17
  • 18. 2. ¿ÀÄ÷çÁ¯¸µ (occlusion culling)+ ¾ÕÀÇ °³Ã¼¿¡ ÀÇ Ø µÚÀÇ ¿ÀºêÁ§Æ®°¡ + Çϵå¿þ¾îÀû Î ¹æ ý : ½ÇÁ¦·Î ÀÛ º(!) ¿ÏÀüÈ÷ °¡·Á ö´Â Áö °Ë»çÇÏ´Â ¹æ½Ä => ºä¿¡ °¡¸®´Â ¿ÀºêÁ§Æ®¸¦ ·»´õ¸µÇÑ ÈÄ “°¡Àå ºü¸¥ °ÍÀº ±×¸®Áö ¾Ê´Â °Í ” ·»´õ¸µÇÒ °èü¸¦ ±× ºä¿¡ ½ÇÁ¦·Î ·£´õ ¸µÇؼ- È-¸é¿¡ ÂïÈù Çȼ¿ ¼ö¸¦ ¼¾î-±¸Çö¹æý 0ÀÎ °æ¿ì ¿ÏÀüÈ÷ °¡·È´Ùí ÆÇ´ÜÑÙ.+ ±âÇÏÀû Î ¹æ ý : ±âÇÏÀû Î ¿¬»êÀ¸·Î ±âŸ °¡¸®´Â ¿ÀºêÁ§Æ®¡ ÀÇØ ·»´õ¸µÇÒ °³Ã¼ ÀÇ ¹Ù¿îµå°¡ ¿ÏÀüÈ÷ °¡·Áö´Â Áö °Ë»ç + ¿¬»ê·®ÀÌ Àû º ÆíÀº ¾Æ´Ï¹Ç·Î, Àû ý ÇÑ´Ù. ÇÑ ¼³Á¤ÀÌ ÇÊ¿ä ϸç, ½ÇÁ¦·Î ÁöÇü»ó ¸¹ Àº °É °¡·ÁÖ´Â °Å´ëÇÑ °³Ã¼¡ Á¸ÀçÇØ ¾ß È¿°ú¡ ÀÖ´Ù. 18
  • 19. 3. PVSPVS(Potentially Visible Set) + ¹Ì¸® °è»êÇÏ´Â °ªÀ̱⠶§¹®¿¡ ºôµå ŸÀÓÇ ¿µÇâÀ» °ÅÀÇ ¾È ¹ÞÀ¸Ç·Î ºÎ¸£+ º¸ÀÏ °¡´É¼ºÀÌ ÀÖ´Â ÁýÇÕÀ̶õ ÀǹÌ. »Å º÷½Æ (Brutal orce òÁ®¸í°Ë¾ F+ ÄõµåÆ®¸, ¿ÁÆ®¸, BSP¿¡ »ó°ü¾øÀÌ lgorithmA – °¡´ÉÇÑ ¸¹Àº °æ¿ì¸¦ Á÷¢ ÀÓÇ ¸®ÇÁ¿¡¼- º¸ÀÏ °¡´É¼ºÀÌ ÀÖ´Â ´ëÀÔÇÏ¿© È®·üÀû ¸ Î ÇØ°á)À» È°¿ëÇÒ ¸®ÇÁÀ ¸®½ºÆ¦ ¾Ë ¼ö ÀÖ´Ù. ¼ö ÀÖ´Ù.+ º¸ÀÏ °¡´É¼ºÀÌ ÀÖ´Â ¸®ÇÁÀ ¸®½ºÆ ´Â + Á¤Àû Î µ¥ÀÌÅÍ´Ù. ½Çð£À¸·Î °è»êÇÑ µ¥ÀÌÅÍ°¡ ¾Æ´Ñ ¹Ì¸® ÄùÀÌÅ© »ç·Ê °è»êµÈ °ªÀ» »ç¿ëÇÑ´Ù. + ÀÓÇ ¸®ÇÁ¿¡ ÀÖ» ¶§ º¸ÀÏ °¡´É¼º + ±¸¼º»ó ÀÏ°ý û Î ±âÇÏÀû Ư¼ºÀÌ ¾øÁö ÀÖ´Â ¸ðµç ¸®ÇÁÀ Á¤º¸¦ RLE + ºñÆ®µ¥,¸ ,¾Å ÇÀîµê» ¦¸ß¾Ã½ ¦¸öÁ¡° ÌÀéµÍ° ÀÌŸ·Î °¡Áöí ÀÖ´Ù. ÀÖ» ¶§ ±×· °Íµé¿¡ ÀÇØ Àý´ë·Î º¼ ¼ö ¾ø´Â ¸®ÇÁ¦ ã´Â °Í 19

×