• 大小: 2.99MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-09-19
  • 语言: 其他
  • 标签: openGL  漫游  

资源简介

绘制了天空和地形,在地形中放入了一个木箱和一个石球,还有一个人物。通过摁W、A、S、D四个键可以模拟人物在地形上移动,左上角会有移动的速度以及移动时刻的坐标值。

资源截图

代码片段和文件信息

//=========================================================================
/**
*  @file      Test.cpp
*
*  项目描述: 3DS文件载入
*  文件描述:  具体实例类 
*  适用平台: Windows98/2000/NT/XP
*  
*  作者:     BrightXu
*  电子邮件:  huoxini@hotmail.com
*  创建日期: 2006-09-13
*  修改日期: 2006-12-02
*
*  在这个类中您必须重载如下几个虚函数
*
* virtual bool Init();
* 执行所有的初始化工作,如果成功函数返回true
*
* virtual void Uninit();
* 执行所有的卸载工作
*
* virtual void Update(DWORD milliseconds);
* 执行所有的更新操作,传入的参数为两次操作经过的时间,以毫秒为单位
*
* virtual void Draw();
* 执行所有的绘制操作
*/
//=========================================================================
#include “stdafx.h“
#include “3DSFile.h“     


/** 创建一个程序的实例 */
GLApplication * GLApplication::Create(const char * class_name)
{
Test * test = new Test(class_name);
return reinterpret_cast(test);
}


/** 构造函数 */
Test::Test(const char * class_name) : GLApplication(class_name)
{
  /// 初始化用户自定义的程序变量
m_Fps = 0;
m_RenderMode = true;
sp = false;
//m_3DS = new C3DSLoader();
}

/** 初始化OpenGL */
bool Test::Init()
{
/** 用户自定义的初始化过程 */
glClearColor(0.0f 0.0f 0.0f 0.5f);
glClearDepth(1.0f);
glDepthFunc(GL_LEQUAL);
glEnable(GL_DEPTH_TEST);
glShadeModel(GL_SMOOTH);
glHint(GL_PERSPECTIVE_CORRECTION_HINT GL_NICEST);
ResizeDraw(true);                              /**< 改变OpenGL窗口大小,直接调用子类的函数 */

/** 启用纹理 */
glEnable(GL_TEXTURE_2D);

/** 初始化字体 */
if(!m_Font.InitFont())
MessageBox(NULL“初始化字体失败!““错误“MB_OK);

/** 初始化地形 */
if(!m_Terrain.initTerrain())
{
MessageBox(NULL“初始化地形失败!““错误“MB_OK);
exit(0);
}

/** 初始化天空 */
if(!m_SkyBox.Init())
{
MessageBox(NULL“初始化天空失败!““错误“MB_OK);
exit(0);
}

/** 载入TGA纹理 */
if(!m_TGATexture[0].Load(“data/sphere.tga“))
{
MessageBox(NULL“加载TGA纹理失败!““错误“MB_OK);
exit(0);
}

if(!m_TGATexture[1].Load(“data/box.tga“))
{
MessageBox(NULL“加载TGA纹理失败!““错误“MB_OK);
exit(0);
}

/** 初始化3DS文件 */
m_3DS.Init(“model.3ds“);

/** 设置摄像机 */
m_Camera.setCamera( 381 35 674  374.5 35 669  0 1 0);

return true;                                        /**< 成功返回 */
}

/** 用户自定义的卸载函数 */
void Test::Uninit()
{
}
/** 更新摄像机 */
void Test::UpdateCamera()
{
m_Camera.setViewByMouse();

/** 键盘按键响应 */
if(m_Keys.IsPressed(VK_SHIFT))                        /**< 按下SHIFT键时加速 */
{
m_Camera.setSpeed(1.5f);
}
if(!m_Keys.IsPressed(VK_SHIFT))
{
m_Camera.setSpeed(0.2f);
}
if(m_Keys.IsPressed(VK_UP) || m_Keys.IsPressed(‘W‘))   /**< 向上方向键或‘W‘键按下 */
m_Camera.moveCamera(m_Camera.getSpeed());          /**< 移动摄像机 */

if(m_Keys.IsPressed(VK_DOWN) || m_Keys.IsPressed(‘S‘)) /**< 向下方向键或‘S‘键按下 */
m_Camera.moveCamera(-m_Camera.getSpeed());         /**< 移动摄像机 */

if(m_Keys.IsPressed(VK

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2012-12-10 16:08  3DSLoad\
     文件        9877  2006-12-14 17:53  3DSLoad\3DSFile.cpp
     文件        2746  2006-12-14 15:08  3DSLoad\3DSFile.h
     文件      300032  2010-07-13 09:30  3DSLoad\3DSLoad.exe
     文件      756736  2010-07-13 09:31  3DSLoad\3DSLoad.ncb
     文件        3347  2006-11-08 21:13  3DSLoad\3DSLoad.rc
     文件         874  2010-07-13 09:29  3DSLoad\3DSLoad.sln
     文件         903  2006-12-13 21:16  3DSLoad\3DSLoad.sln.old
     文件       13312  2010-07-13 09:31  3DSLoad\3DSLoad.suo
     文件       13312  2006-12-14 17:53  3DSLoad\3DSLoad.suo.old
     文件        5911  2010-07-13 09:28  3DSLoad\3DSLoad.vcproj
     文件        4926  2006-12-14 17:53  3DSLoad\3DSLoad.vcproj.7.10.old
     文件        5847  2010-07-12 23:01  3DSLoad\3DSLoad.vcproj.8.00.old
     文件        1411  2010-07-12 23:10  3DSLoad\3DSLoad.vcproj.MACBOOK.Administrator.user
     文件        1417  2010-07-13 09:31  3DSLoad\3DSLoad.vcproj.WANGQICHAO.wang.user
     文件       17158  2010-07-12 23:02  3DSLoad\3DSLoader.cpp
     文件        4742  2006-12-14 15:17  3DSLoad\3DSLoader.h
     文件      152516  2010-07-12 13:53  3DSLoad\bak.bmp
     文件        2660  2006-12-14 15:06  3DSLoad\BMPLoader.cpp
     文件        1053  2006-12-14 15:06  3DSLoad\BMPLoader.h
     文件        6059  2006-12-14 15:06  3DSLoad\Camera.cpp
     文件        1773  2006-12-14 15:06  3DSLoad\Camera.h
     文件      786488  2001-07-13 17:42  3DSLoad\cyborg.bmp
     目录           0  2012-12-10 16:08  3DSLoad\data\
     文件      786486  2006-12-10 15:43  3DSLoad\data\back.BMP
     文件      786486  2006-12-11 22:00  3DSLoad\data\Bottom.bmp
     文件      192824  2006-12-12 23:53  3DSLoad\data\box.tga
     文件           9  2007-03-10 08:49  3DSLoad\data\Desktop_.ini
     文件      786486  2006-12-10 16:53  3DSLoad\data\front.BMP
     文件      786486  2006-12-10 16:53  3DSLoad\data\left.BMP
     文件      786486  2006-12-10 16:53  3DSLoad\data\right.BMP
............此处省略56个文件信息

评论

共有 条评论