OGRE基础教程基础教程一.pdf
文本预览下载声明
文档:教程:基础教程:基础教程一
出自Ogre3D 开放资源地带
跳转到: 导航, 搜索
目录
1 简介
2 从这里开始
3 OGRE 是怎样工作的
o 3.1 场景管理器基础
o 3.2 实体基础
o 3.3 场景节点基础
4 第一个 OGRE 程序
5 坐标和向量
6 添加其它的对象
7 实体深入了解
8 场景节点深入了解
9 额外尝试
o 9.1 缩放
o 9.2 旋转
10 小结
11 Ogre 环境配置
o 11.1 动态链接库(DLLs) 与 插件(Plugins)
o 11.2 配置文件
o 11.3 一个更好的调试程序的方法
简介
在这篇教程里,我会向您介绍OGRE 最基础的构架:场景管理器,场景节点和实
体。由于我需要在这篇教程里把OGRE 的基 概念介绍给你,所以我们不会接触
太多的代码。在您阅读这篇教程的同时,您应该自己一点一点的添加代码来体
会代码的作用,只有这样才可以真正理解这些概念。
从这里开始
在这篇教程里,我们将使用已经写好的代码作为模版。除了我们将要在
createScene 函数里面添加的代码之外,您可以暂时忽略其他的东西。在后面
的教程里我会深入讲解OGRE 程序是如何工作的,现在我们只需要从最简单的地
方学起就行了。在您的编译器里创建一个新的工程,然后把下面的代码添加进
去:
#include ExampleApplication.h
class TutorialApplication : public ExampleApplication
{
protected:
public:
TutorialApplication()
{
}
~TutorialApplication()
{
}
protected:
void createScene(void)
{
}
};
#if OGRE_PLATFORM == OGRE_PLATFORM_WIN32
#define WIN32_LEAN_AND_MEAN
#include windows.h
INT WINAPI WinMain( HINSTANCE hInst, HINSTANCE, LPSTR strCmdLine,
INT )
#else
int main(int argc, char **argv)
#endif
{
// Create application object
TutorialApplication app;
try {
app.go();
} catch( Exception e ) {
#if OGRE_PLATFORM == OGRE_PLATFORM_WIN32
MessageBox( NULL, e.getFullDescription().c_str(), An
exception has occured!, MB_OK | MB_ICONERROR | MB_TASKMODAL);
#else
fprintf(stderr, An exception has occured: %s\n,
e.getFullDescription().c_str());
#endif
}
return 0;
}
假如您能够成功编译这段代码,您在运行的时候可以用WASD 键移动,鼠标来转
镜头,ESC 键来退出程序。
OGRE 是怎样工作的
这是一个很广的题目,我们将从场景管理器开始然后进一步了解场景节点和实
体。这三个类是所有OGRE 程序的基石。
场景管理器基础
在屏幕上显示的所有东西都是由场景管理器来管理。当您在场景中添加物体
时,场景管理器会记录这些物体的位置。当您添加摄像机来观看某个场景时,
场景管理器会记录摄像机的位置。当您添加平面、广告牌、灯光时,场景管理
器同样会管理他们。 OGRE 里有很多种场景管理器。有的场景管理器渲染地
面,有的场景管理器渲染BSP 表等等。在后
显示全部