![]()
| Height Map ¾Æ¿ôµµ¾î ¹æ½Ä¿¡¼ ÁöÇüÀ» Çü¼ºÀ» ÇØÁÖ´Â ¹æ½ÄÀÌ´Ù. Áö±Ý ¿©±â¼
´Ù·ê ÇÁ·Î±×·¥Àº rawÆÄÀÏÀ̶ó´Â ÀÏ¹Ý À̹ÌÁö ÆÄÀϰú´Â ´Ù¸£°Ô ¾ÐÃàÀ»
ÇÏÁö ¾Ê°í ÇöÀç À̹ÌÁö¿¡ ±í ÀÌÇØÇÏ±â ÆíÇÏ°Ô µÎ °³ÀÇ À̹ÌÁö¸¦ º¸¸é¼ ¾ê±â¸¦ Çϵµ·Ï ÇÏÀÚ.
Áö±Ý ¾ê±âÇϰí ÀÖ´Â ÇÁ·Î±×·¥¿¡¼ »ç¿ëÇÒ bmpÆÄÀϰú ¿©±â ÁöÇü »ý¼º¿¡
»ç¿ëµÉ rawÆÄÀÏÀ» Æ÷Åä˜Þ¿¡¼ jpg·Î ¹Ù²ã¼ º¸¿©ÁÖ´Â °ÍÀÌ´Ù. ÁöÇü¿¡´Â
ÀÌ Àüü bmpÀ̹ÌÁö ±×·³ ÀÌ ÁöÇü Á¤º¸¸¦ °¡Áö°Ô ÇÏ´Â rawÆÄÀÏÀº ¾î¶»°Ô ¸¸µé±î? ¿äÁòÀÇ
µðÁöÅÐ Ä«¸Þ¶ó´Â ÀÌ·± À̹ÌÁö¸¦ »ý¼ºÀ» Çϴ°¡ º»´Ù. ¾ÈÇØºÁ¼ Àß ¸ð¸£°ÚÁö¸¸... ¼Ò½º¸¦ ´Ù¿î ¹Þ¾Æ º¼±î¿ä? (½ÇÇà ¼Ò½º´Ù¿î, »ç¿ëÀ̹ÌÁö1´Ù¿î, »ç¿ëÀ̹ÌÁö2´Ù¿î) 1.ÁöÇüÀ» »ý¼ºÀ» ÇÑ´Ù. ±×·³ ¾î¶»°Ô ÇØ¼ ÁöÇüÀ» »ý¼ºÀ» ÇÏ´ÂÁö¸¸ ¿©±â¼ ´Ù·ç°í ´Ù¸¥ ºÎºÐÀº ¼Ò½º¸¦ º¸¸é¼ ¾Ë¾Æ¼ ÀÌÇØÇϱ⠹ٶø´Ï´Ù. LoadRawFile("Terrain.raw", MAP_SIZE * MAP_SIZE, g_HeightMap);
//¸ÕÀú À̺κÐÀÌ Áö±Ý »ç¿ëµÉ raw°¡ Terrain.rawÀε¥ ±×°É ÀÐ¾î µéÀϸ¸ÅÀÇ
Å©±â¸¦ 1024 *1024
ÀÌ ±×¸²À» ÀÌÇØ¸¦ ÇÒ ¼ö°¡ ÀÖ³ª¿ä? ±×´Ñ±î rawÆÄÀÏÀÌ 1024*1024Àε¥ ÀÌ·¸°Ô °ÝÀÚ·Î ³ª´²¼ °¡·Î64°³, ¼¼·Î64°³·Î ¸¸µé¾îÁشٴ °ÍÀÌ´Ù. ±×·³ rawÆÄÀÏÀ» ÀÐ¾î µé¿©¼ ±×°É °¡Áö°í ÅØ½ºÃÄ ¸ÅÇÎÀ» ÇÒ ¼ö ÀÖ°Ô ÁÂÇ¥¸¦ Àâ¾Æ ÁÖ´Â °ÍÀÌ´Ù. void RenderHeightMap(BYTE pHeightMap[]) //ÁöÇü ÁÂÇ¥¸¦ »ý¼ºÇϰí
±× ÁÂÇ¥¿¡ ¸Â°Ô ÅØ½ºÃÄ ¸ÅÇÎÀ» ÇÑ´Ù. glBindTexture(GL_TEXTURE_2D,
g_Texture[0]); //ÅØ½ºÃÄ ¸ÅÇÎÀ» ÇÒ ÅØ½ºÃÄ À̸§À» ÁöÁ¤.. x
= X + STEP_SIZE; x
= X; //ÀÌ ºÎºÐÀÌ RenderScene()ºÎºÐ¿¡¼ Ä«¸Þ¶ó°¡ ¹Ù´Ú¿¡ ¸ø µé¾î°¡°Ô ÇØÁÖ´Â ºÎºÐÀÌ´Ù. Æò¸éÀÇ ¹æÁ¤½ÄÀ» »ç¿ëÇѴٴµ¥ ¿©±â¼± ¾Æ´Ï´Ù. CVector3 vPos = g_Camera.Position(); CVector3 vView = g_Camera.View(); ÀÌ·± ½ÄÀ¸·Î Ãæµ¹ 󸮸¦ ÇÏ´Â°Ç ¹®Á¦°¡ ÀÖÀ» ¼ö ÀÖ´Ù. ÁöÇü¿¡ ´ëÇØ¼
¸¹Àº ºÎºÐ¿¡ ´ëÇØ¼ ´Ù 󸮸¦ ÇØÁà¾ß ÇÑ´Ù´Â °ÍÀÌ´Ù. 3D¿£ÁøÀ» ¸¸µå´Âµ¥
Ç×»ó »ý°¢ÇØÁà¾ß ÀÌ·± °è»ê ¹æ¹ýÀ¸·Î´Â Á¼Àº °ø°£¿¡¼´Â »ó°üÀÌ ¾øÁö¸¸ ÀÌ ÁöÇü°ú
»ó°üÀÌ ¾ø´Â ¾î¶² ¿ÀºêÁ§Æ®¿¡ ´ëÇÑ Ãæµ¹ 󸮴 ¶Ç ´Ù¸¥ ¹æ¹ýÀ» »ç¿ëÇØ¾ß
ÇϹǷΠ¹®Á¦°¡ ÀÖÀ» ¼ö ¸ÖƼ ÅØ½ºÃĸµÀ» ÇÏ´Â ºÎºÐ¿¡µÎ Ãß°¡µÇ´Â ¼Ò½º°¡ Àִµ¥ ±× ºÎºÐ¿¡
´ëÇØ¼´Â ¼Ò½º¸¦ ´Ù¿îÀ» ¹Þ¾Æ¼ Çѹø ½ÇÇàÇØ º¸±¸ ±× ¼Ò½º ºÎºÐ¿¡ ³»¿ëÀ»
ÆÄ¾ÇÇϸé ÁÁÀ» µí ½Í |