資源簡介
OPENGL 實現的一個3D場景,具有漫游功能

代碼片段和文件信息
#include?“stdafx.h“
#include?“DrawMap.h“
#include?“BITMAP.H“
GLfloat r;?
float??gao=1.8f;
extern?CString test;?
extern?HWND hWnd;
int?mapType=1;
//////////////////////////////////////////////////////////////////////
DrawMap::DrawMap()
{ g_eye[0]=?MAP-80;
g_eye[2]=-MAP;
g_Angle=0;
g_elev=-0;
////////////////////////////////////////////////////////////////////////
char appdir[256];
GetCurrentDirectory(256appdir);
CString?dir=appdir;
g_imageData?=?LoadBit(“data/sand0.bmp“&g_bit);
Generate_Texture(“data/sand2.bmp“ ?g_cactus[0]);
Generate_Texture(“data/4RBack.bmp“?g_cactus[2]);
Generate_Texture(“data/4Front.bmp“?g_cactus[3]);
Generate_Texture(“data/4Top.bmp“ ?g_cactus[4]);
Generate_Texture(“data/4Left.bmp“??g_cactus[5]);
Generate_Texture(“data/4Right.bmp“?g_cactus[6]);
/*Generate_Texture(“data/mm.bmp“?g_cactus[7]);*/
InitTerrain(5);
m_3ds=new?CLoad3DS();
load3dobj(“3ds/““paolou.3DS“0);
load3dobj(“3ds/““直升機.3ds“1);
load3dobj(“3ds/““航天發射臺.3DS“2);
load3dobj(“3ds/““sd.3DS“3);
glEnable(GL_TEXTURE_2D);
}
DrawMap::~DrawMap()
{ for(int?i=0;i<16;i++)?glDeleteTextures(1?&g_cactus[i]);
glDisableClientState(GL_VERTEX_ARRAY);
glDisableClientState(GL_TEXTURE_COORD_ARRAY);
}
void?DrawMap::light0()
{ GLfloat?light_position[]?=?{1.05.01.01.0};
????GLfloat?LightAmbient[]=?{?0.5f?0.5f?0.5f?1.0f?};?//環境光參數?
????GLfloat?LightDiffuse[]=?{?1.0f?1.0f?1.0f?1.0f?};?//?漫射光參數?
????glLightfv(GL_LIGHT0?GL_AMBIENT?LightAmbient);?//?設置環境光
????glLightfv(GL_LIGHT0?GL_DIFFUSE?LightDiffuse);?//?設置漫射光
glLightfv(GL_LIGHT0?GL_POSITION?light_position);
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
glEnable(GL_DEPTH_TEST);
glEnable(GL_COLOR_MATERIAL);
}
void?DrawMap::changeMap()
{
mapType++;
if(mapType==4)
mapType=1;
if(mapType==1)
Generate_Texture(“data/sand3.bmp“ ?g_cactus[0]);
if(mapType==2)
Generate_Texture(“data/sand4.bmp“ ?g_cactus[0]);
if(mapType==3)
Generate_Texture(“data/Terrain4.bmp“ ?g_cactus[0]);
InitTerrain(5);
DrawSand();
}
BOOL?DrawMap::DisplayScene()
{?
float?speed=0.5f;
??float?x=g_eye[0]y=g_eye[2]z=g_eye[2];
??if?(KEY_DOWN(VK_SHIFT))??speed???=speed*2;
??if?(KEY_DOWN(65))???g_Angle-=speed*2;/////////////////////////////////////a
??if?(KEY_DOWN(68))??g_Angle+=speed*2;//////////////////////////////////////d
??rad_xz?=?float?(3.13149*?g_Angle/180.0f);
??if?(KEY_DOWN(VK_UP)) ???g_elev?+=speed;
??if?(KEY_DOWN(VK_DOWN)) ???g_elev?-=speed;
??if?(KEY_DOWN(VK_LEFT)) ???g_Angle-=speed*2;
??if?(KEY_DOWN(VK_RIGHT)) ???g_Angle+=speed*2;
??if?(g_elev<-360) ???g_elev??=-360;
??if?(g_elev>?360) ???g_elev??=?360;
??if?(KEY_DOWN(87)) /////////////////////////////////w
??{?g_eye[2]+=(float)sin(rad_xz)*speed;
????g_eye[0]+=(float)cos(rad_xz)*speed;
??}
??if?(KEY_DOWN(83))?/////////////////////////////////s
??{?g_eye[2]-=(float)sin(rad_xz)*speed;
????g_eye[0]-=(float)cos(rad_xz)*speed;
??}
??if(g_eye[0]?MAP_SCALE)
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2014-06-30?10:13??OpenGL場景漫游??肖天意?李昕陽?盧帥?司佳琪\
?????目錄???????????0??2014-06-30?10:14??OpenGL場景漫游??肖天意?李昕陽?盧帥?司佳琪\MyProject\
?????目錄???????????0??2014-06-30?08:59??OpenGL場景漫游??肖天意?李昕陽?盧帥?司佳琪\MyProject\3ds\
?????文件??????823782??2014-06-09?12:15??OpenGL場景漫游??肖天意?李昕陽?盧帥?司佳琪\MyProject\3ds\a.bmp
?????文件??????316054??2014-06-09?12:15??OpenGL場景漫游??肖天意?李昕陽?盧帥?司佳琪\MyProject\3ds\b.bmp
?????文件????????1299??2014-06-09?12:15??OpenGL場景漫游??肖天意?李昕陽?盧帥?司佳琪\MyProject\3ds\box.3DS
?????文件???????23454??2014-06-09?12:15??OpenGL場景漫游??肖天意?李昕陽?盧帥?司佳琪\MyProject\3ds\c.bmp
?????文件??????144438??2014-06-09?12:15??OpenGL場景漫游??肖天意?李昕陽?盧帥?司佳琪\MyProject\3ds\d.bmp
?????文件???????46134??2014-06-09?12:15??OpenGL場景漫游??肖天意?李昕陽?盧帥?司佳琪\MyProject\3ds\grass1.bmp
?????文件??????256102??2014-06-09?12:15??OpenGL場景漫游??肖天意?李昕陽?盧帥?司佳琪\MyProject\3ds\hind011.bmp
?????文件??????921654??2014-06-28?18:10??OpenGL場景漫游??肖天意?李昕陽?盧帥?司佳琪\MyProject\3ds\marbel.bmp
?????文件???????10182??2014-06-09?12:15??OpenGL場景漫游??肖天意?李昕陽?盧帥?司佳琪\MyProject\3ds\paolou.3DS
?????文件??????786486??2014-06-28?18:10??OpenGL場景漫游??肖天意?李昕陽?盧帥?司佳琪\MyProject\3ds\scratch.bmp
?????文件???????95020??2014-06-09?12:15??OpenGL場景漫游??肖天意?李昕陽?盧帥?司佳琪\MyProject\3ds\sd.3DS
?????文件???????32527??2014-06-09?12:15??OpenGL場景漫游??肖天意?李昕陽?盧帥?司佳琪\MyProject\3ds\直升機.3ds
?????文件???????97666??2014-06-09?12:15??OpenGL場景漫游??肖天意?李昕陽?盧帥?司佳琪\MyProject\3ds\航天發射臺.3ds
?????文件???????18970??2014-06-29?10:28??OpenGL場景漫游??肖天意?李昕陽?盧帥?司佳琪\MyProject\3DS.CPP
?????文件????????3827??2014-06-29?10:28??OpenGL場景漫游??肖天意?李昕陽?盧帥?司佳琪\MyProject\3DS.H
?????文件????????3662??2005-10-23?18:21??OpenGL場景漫游??肖天意?李昕陽?盧帥?司佳琪\MyProject\bitmap.h
?????目錄???????????0??2014-06-30?08:57??OpenGL場景漫游??肖天意?李昕陽?盧帥?司佳琪\MyProject\Data\
?????文件???????33846??2014-06-09?12:17??OpenGL場景漫游??肖天意?李昕陽?盧帥?司佳琪\MyProject\Data\4FRONT.BMP
?????文件???????33846??2014-06-09?12:17??OpenGL場景漫游??肖天意?李昕陽?盧帥?司佳琪\MyProject\Data\4LEFT.BMP
?????文件???????33846??2014-06-09?12:17??OpenGL場景漫游??肖天意?李昕陽?盧帥?司佳琪\MyProject\Data\4RBACK.BMP
?????文件???????33846??2014-06-09?12:17??OpenGL場景漫游??肖天意?李昕陽?盧帥?司佳琪\MyProject\Data\4RIGHT.BMP
?????文件???????66614??2014-06-09?12:17??OpenGL場景漫游??肖天意?李昕陽?盧帥?司佳琪\MyProject\Data\4TOP.BMP
?????文件??????786488??2005-10-24?15:48??OpenGL場景漫游??肖天意?李昕陽?盧帥?司佳琪\MyProject\Data\sand0.BMP
?????文件??????263222??2004-10-26?10:50??OpenGL場景漫游??肖天意?李昕陽?盧帥?司佳琪\MyProject\Data\sand1.BMP
?????文件??????263222??2014-06-09?12:17??OpenGL場景漫游??肖天意?李昕陽?盧帥?司佳琪\MyProject\Data\SAND2.BMP
?????文件??????263222??2014-06-09?12:17??OpenGL場景漫游??肖天意?李昕陽?盧帥?司佳琪\MyProject\Data\SAND3.BMP
?????文件??????263222??2014-06-09?12:17??OpenGL場景漫游??肖天意?李昕陽?盧帥?司佳琪\MyProject\Data\SAND4.BMP
?????文件????????3126??2014-06-09?12:16??OpenGL場景漫游??肖天意?李昕陽?盧帥?司佳琪\MyProject\Data\Terrain0.bmp
............此處省略26個文件信息
評論
共有 條評論