资源简介
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个文件信息
相关资源
- opengl_shader_鱼眼校正的(demo)
- 火影鸣人3d模型,带骨骼动画
- opengl与QT实现天空盒
- OpenGL程序构造天空和地面
- opengl的OpenGL教程中文版
- VC点云数据显示,OPENGL图像渲染.rar
- openGL实现地球自动围绕太阳转
- 史上最全OpenGL文件安装包
- 第一个3d建模的demo
- OpenGL开发库完整版
- 用openGL实现的3D国际象棋游戏源码
- Opengl写的摩天轮源码
- OpenGL3.3官方文档
- 碰撞检测毕业论文
- OpenGL库文件完整版
- source code for Computer Graphics: Programming
- opengl 实现水波纹
- openGL bunny 画兔子
- opengl glee
- 史上最全OpenGL库文件
- opengl做的飞机模型
- 英伟达u盘显卡的3d模型
- openglbible中需要的gltools.h及.a文件
- QT使用OpenGL显示YUV420和YUV444数据,内附
- opengl迷宫游戏
- OpenGL绘制三维地形图184196
- opengl烟花
- 鼠标控制物体缩放旋转opengl+glut
- QT+OpenGL开发而成,能以点,线,面,
- 3D场景漫游
评论
共有 条评论