-
大小: 5.09MB文件類型: .rar金幣: 2下載: 0 次發(fā)布日期: 2023-10-20
- 語(yǔ)言: C/C++
- 標(biāo)簽:
資源簡(jiǎn)介
簡(jiǎn)單的OpenGL,3D場(chǎng)景,VC++6.0開發(fā)環(huán)境,方向鍵和Page up,Page Down鍵可以改變視點(diǎn)方向,同時(shí)按下Shitf 鍵可以實(shí)現(xiàn)加速。

代碼片段和文件信息
//?baseGraph.cpp:?implementation?of?the?baseGraph?class.
//
//////////////////////////////////////////////////////////////////////
#include?“stdafx.h“
#include?“baseGraph.h“
#include?“../myinclude/bitmap.h“
//////////////////////////////////////////////////////////////////////
//?Construction/Destruction
//////////////////////////////////////////////////////////////////////
extern?GLfloat r;???????//飛機(jī)盤旋角度
float??gao=1.8f;
extern?CString test;????//場(chǎng)景信息
//////////////////////////////////////////////////////////////////////
//?Construction/Destruction
//////////////////////////////////////////////////////////////////////
baseGraph::baseGraph()
{?
g_eye[0]=?MAP;//
g_eye[2]=-MAP;//
g_Angle=0;
g_elev=-0;
char appdir[256];
GetCurrentDirectory(256appdir);
CString?dir=appdir;
if(dir.Right(8)!=“運(yùn)行程序“)
SetCurrentDirectory(“../運(yùn)行程序“);
////////////////////////////////////////////////////////////////////////
g_imageData?=?LoadBit(“data/images/Terrain1.bmp“&g_bit);??//調(diào)等高地形圖
LoadT8(“data/images/sand0.bmp“ ?g_cactus[0]); //地面貼圖
//天空貼圖
LoadT8(“data/images/4RBack.bmp“?g_cactus[2]);
LoadT8(“data/images/4Front.bmp“?g_cactus[3]);
LoadT8(“data/images/4Top.bmp“ ?g_cactus[4]);
LoadT8(“data/images/4Left.bmp“??g_cactus[5]);
LoadT8(“data/images/4Right.bmp“?g_cactus[6]);
LoadT16(“data/images/CACTUS0.BMP“g_cactus[11]);????//樹1帖圖
LoadT16(“data/images/CACTUS1.BMP“g_cactus[12]);????//樹2帖圖
LoadT16(“data/images/CACTUS2.BMP“g_cactus[13]);????//樹3帖圖
LoadT16(“data/images/CACTUS5.BMP“g_cactus[14]);????//樹4帖圖
InitTerrain(5); //初始化地面
m_3ds=new?CLoad3DS();
load3dobj(“data/3ds/““航天發(fā)射臺(tái).3DS“0);
load3dobj(“data/3ds/““直升機(jī)0.3ds“1);//car.3ds
load3dobj(“data/3ds/““飛機(jī)1.3ds“2);//car.3ds
glEnable(GL_TEXTURE_2D);
}
baseGraph::~baseGraph()
{
for(int?i=0;i<16;i++)?
glDeleteTextures(1?&g_cactus[i]);
glDisableClientState(GL_VERTEX_ARRAY);
glDisableClientState(GL_TEXTURE_COORD_ARRAY);
}
void?baseGraph::light0()
{
GLfloat?light_position[]?=?{1.05.01.01.0};
glLightfv(GL_LIGHT0?GL_POSITION?light_position);
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
glEnable(GL_DEPTH_TEST);
glEnable(GL_COLOR_MATERIAL);
}
BOOL?baseGraph::DisplayScene()
{
float?speed=0.3f;
float?x=g_eye[0]y=g_eye[2]z=g_eye[2];
if?(KEY_DOWN(VK_SHIFT))??speed???=speed*3;
if?(KEY_DOWN(VK_LEFT))???g_Angle-=speed*3;
if?(KEY_DOWN(VK_RIGHT))??g_Angle+=speed*3;
rad_xz?=?float?(3.13149*?g_Angle/180.0f);
if?(KEY_DOWN(33)) ???g_elev?+=speed;
if?(KEY_DOWN(34)) ???g_elev?-=speed;
if?(g_elev<-360) ???g_elev??=-360;
if?(g_elev>?360) ???g_elev??=?360;
if?(KEY_DOWN(VK_UP))
{?
g_eye[2]+=(float)sin(rad_xz)*speed*3;
g_eye[0]+=(float)cos(rad_xz)*speed*3;
}
if?(KEY_DOWN(VK_DOWN))
{?
g_eye[2]-=(float)sin(rad_xz)*speed*3;
g_eye[0]-=(float)cos(rad_xz)*speed*3;
}
if(g_eye[0]?MAP_SCALE) g_eye[0]=??MAP_SCALE;
if(g_eye[0]>?(MAP_W-2)*MAP_SCALE) g_eye[0
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件??????19776??2011-09-17?12:46??OpenGL的組合模型\3DS.CPP
?????文件???????3902??2011-09-17?12:00??OpenGL的組合模型\3DS.h
?????文件?????132150??2005-02-17?22:15??OpenGL的組合模型\aa.bmp
?????文件??????14129??2011-09-25?22:23??OpenGL的組合模型\ba
?????文件???????1565??2011-09-16?23:25??OpenGL的組合模型\ba
?????文件?????132150??2005-02-17?22:17??OpenGL的組合模型\bb.BMP
?????文件?????259638??2004-07-19?22:01??OpenGL的組合模型\data\3ds\car_dealers1.bmp
?????文件??????46134??2004-09-11?20:35??OpenGL的組合模型\data\3ds\grass1.bmp
?????文件?????256102??2005-01-26?16:00??OpenGL的組合模型\data\3ds\hind011.bmp
?????文件?????132150??2004-06-20?13:47??OpenGL的組合模型\data\3ds\loader.bmp
?????文件?????262710??2004-07-19?21:42??OpenGL的組合模型\data\3ds\scud-launcher1.bmp
?????文件??????32527??2005-01-26?16:22??OpenGL的組合模型\data\3ds\直升機(jī)0.3ds
?????文件??????97666??2005-01-30?15:46??OpenGL的組合模型\data\3ds\航天發(fā)射臺(tái).3ds
?????文件??????23603??2005-01-25?23:31??OpenGL的組合模型\data\3ds\轎車0.3ds
?????文件??????47501??2005-01-30?15:15??OpenGL的組合模型\data\3ds\鏟車.3ds
?????文件??????50203??2005-01-30?15:31??OpenGL的組合模型\data\3ds\飛機(jī)1.3ds
?????文件??????33734??2005-04-07?09:31??OpenGL的組合模型\data\images\0FRONT.BMP
?????文件??????33794??2005-04-07?09:29??OpenGL的組合模型\data\images\0LEFT.BMP
?????文件??????33742??2005-04-07?09:28??OpenGL的組合模型\data\images\0RBACK.BMP
?????文件??????33770??2005-04-07?09:27??OpenGL的組合模型\data\images\0RIGHT.BMP
?????文件??????66366??2005-04-07?09:25??OpenGL的組合模型\data\images\0TOP.BMP
?????文件??????33846??2005-04-07?00:28??OpenGL的組合模型\data\images\1FRONT.BMP
?????文件??????33846??2005-04-07?00:28??OpenGL的組合模型\data\images\1LEFT.BMP
?????文件??????33846??2005-04-07?00:28??OpenGL的組合模型\data\images\1RBACK.BMP
?????文件??????33846??2005-04-07?00:28??OpenGL的組合模型\data\images\1RIGHT.BMP
?????文件??????66614??2005-04-07?00:28??OpenGL的組合模型\data\images\1Top.BMP
?????文件??????66614??2005-01-24?10:02??OpenGL的組合模型\data\images\2FRONT.BMP
?????文件??????66614??2005-01-24?10:02??OpenGL的組合模型\data\images\2LEFT.BMP
?????文件??????66614??2005-01-24?10:02??OpenGL的組合模型\data\images\2RBACK.BMP
?????文件??????66614??2005-01-24?10:02??OpenGL的組合模型\data\images\2RIGHT.BMP
............此處省略70個(gè)文件信息
評(píng)論
共有 條評(píng)論