¡á 3D Engine

** Blade ÀÇ Projection shadow **
copyright¨Ï Á¶±â¿ë(Oooz) [1999³â 11¿ù 9ÀÏ]

2. BladeÀÇ Projection Shadow

¸ñ Â÷
1. BladeÀÇ Omni¶óÀÌÆ® ±¸Çö¹ý
2. BladeÀÇ Projection Shadow

Projection Shadow´Â Blade¶ó´Â °ÔÀÓ¿¡¼­ óÀ½ ¾²¿´°í, ¿äÁò MDK2¿Í Noctune¿¡¼­µµ ¾²¿©¼­ È­Á¦°¡ µÇ´Â ±â¼ú·Î...
±âÁ¸ÀÇ ¹Ù´Ú¿¡¸¸ ºñÃçÁö´Â ±×¸²ÀÚÀÇ ÇѰ踦 ¹þ¾î³ª º®À̳ª ¸ðµç ¹°Ã¼¿¡ ºñÃÄÁö´Â ¶Ù¾î³­ ±×¸²ÀÚ Ç¥ÇöÀ» ÇÒ¼öÀÖ¾î¿ä.

(Blade°¡ óÀ½ ³ª¿ÔÀ»¶§ ÀÌ ±â¹ý¿¡ ´ëÇØ ±ÛÀ» ¿Ã¸°ÀûÀÌ ÀÖ¾ú´Âµ¥, ±×¶§´Â Á¦°¡ ÀÌ·ÐÀûÀ¸·Î¸¸ »ý°¢Çؼ­ ¾´°Å¿´°í, Áö±ÝÀº Á¦°¡ Å×½ºÆ®¸¦ ÅëÇØ °ËÁõÀ» ÇÑÈÄ ´Ù½Ã ¼³¸íµå¸®´Â °Å¿¹¿ä.)

¸ÕÀú, ÀÌ °³³äÀ» ÀÌÇØÇϱâ À§Çؼ± Ä«¸Þ¶ó¿Í ºûÀ» °°ÀÌ »ý°¢Çϸé ÇÞ°¥¸®±â ¶§¹®¿¡, Ä«¸Þ¶ó´Â ÀØ¾î ¹ö¸®°í ºû¿¡ ´ëÇØ¼­¸¸ »ý°¢Çؾߵǿä.

ÀÚ, ±×·³ ¸ÕÀú ¸Ó¸®¼ÓÀ¸·Î ÀÚ½ÅÀ» ºûÀ̶ó »ý°¢Çϰí...
ºûÀÇ À§Ä¡¿¡¼­ Äɸ¯Å͸¦ ¹Ù¶óº»´Ù°í »ý°¢ÇØ º¸¼¼¿ä.
ÀÚ½ÅÀÌ º¸°íÀÖ´Â Äɸ¯ÅÍÀÇ ±×¸²ÀÚ°¡ º¸À̳ª¿ä?
´ç¿¬, °¡À§·Î ¿À·Á³½µí Á¤È®ÇÏ°Ô ¹°Ã¼¿¡ °¡·Á º¸ÀÌÁö ¾ÊÁÒ.
(¿©±â¼­ Á¤È®ÇÏ°Ô °¡¸°´Ù´Â »ç½ÇÀÌ Áß¿ä!)
ÀÚ ±×·³ ÀÌÁ¦, ÀÌ °¡·ÁÁø ±×¸²ÀÚ¸¦ °¡À§·Î ¿À¸®³»¸é Äɸ¯ÅÍ ¸ð¾çÀÇ °ËÀº Á¾À̰¡ Çϳª »ý±â°ÚÁÒ?
±× »óÅ·Î(´«À» ¿òÁ÷ÀÌÁö ¸»°í) ÀÌ ±î¸¸ Á¾À̸¦ ±×´ë·Î µÚ·Î ¹Ð¾î¼­ ¹è°æ¿¡ ºÙÀÎ´Ù°í »ý°¢ÇØ º¸¼¼¿ä.

±×·³ ÀÌÁ¦ ÇÁ·Î±×·¥ÀûÀ¸·Î ¼³¸íÇØº¸ÁÒ.
ºûÀÇ À§Ä¡¿¡¼­ Äɸ¯Å͸¦ °ËÀº»öÀ¸·Î ·£´õ¸µ ÇÑÈÄ
(³ªÁß¿¡ ¹è°æÀ» ±×¸±¶§ ¸ÅÇν·Î »ç¿ëÇØ¾ß µÇ´Ï 256x256º¸´Ù ÀÛ°Ô ·£´õ¸µ ÇØ¾ß µÇ¿ä.)
±× »óÅ·Î(ºûÀÇ À§Ä¡¿¡¼­) ¹è°æ ¿ÀºêÁ§Æ®¸¦ ·£´õ¸µ ÇÏÁö ¸»°í ÇÁ·ÎÁ§¼Ç¸¸ ÇÑÈÄ ¾Æ·¡¿Í °°ÀÌ u,v°ªÀ» ±¸ÇØ ³»¸é µÇ¿ä.

-----------------------------------------------------

vtx : ¹è°æ ¿ÀºêÁ§Æ®ÀÇ Vertex
px, py : ÇÁ·ÎÁ§¼ÇÀ» ÇÑÈÄÀÇ x,y
width, height : 256x256À¸·Î ·£´õ¸µÇÒ °æ¿ì width¿Í height ¸ðµÎ 256
fov : Field of view

PerspectiveX¡¡=¡¡(width / 2) / tan(fov / 2 * 3.141592f / 180.f) ;
PerspectiveY¡¡=¡¡(hidth / 2) / tan(fov / 2 * 3.141592f / 180.f) ;

for( int¡¡i = 0 ;¡¡i < ¹è°æ¿ÀºêÁ§Æ® Vertex °¹¼ö¡¡;¡¡i++ )
{
¡¡¡¡px¡¡=¡¡vtx[i].x¡¡*¡¡PerspectiveX / vtx[i].z¡¡+¡¡width / 2 ;
¡¡¡¡py¡¡=¡¡vtx[i].y¡¡*¡¡PerspectiveY / vtx[i].z¡¡+¡¡height / 2 ;
¡¡¡¡vtx[i].u¡¡=¡¡px / width ;
¡¡¡¡vtx[i].v¡¡=¡¡py / height ;
}

----------------------------------------------------

ÀÌ·¸°Ô ÇØÁØÈÄ, Ä«¸Þ¶óÀ§Ä¡¿¡¼­ ·£´õ¸µ ÇÒ¶§ ¹è°æÀÇ ¸ÅÇÎ ½î½º¸¦ ¾Æ±î ºûÀÇ À§Ä¡¿¡¼­ ·£´õ¸µÇÑ À̹ÌÁöÀ» ¸ÅÇÎ ½î½º¸¦ »ç¿ëÇÏ¸é ³¡~
(¹°·Ð ¹è°æ¿¡ ÀÌ¹Ì ¸ÅÇÎÀÌ ÀÔÇôÁ® ÀÖ´Ù¸é, Blending ÇØ¼­ ÀÔÈ÷¸é µÈ´Ù.)