原始作者:Clay Culver
中文译者:Antking
OGRE教程(一)
OGRE教程(二)
注意:这篇文章是针对OGRE 1.0.0,如果你使用其他的版本,如果遇到问题请到论坛中讨论。
目录
1 读者对象
2 简介
3 如何开始
4 OGRE如何工作
4.1 SceneManager 基础
4.2 Entity 基础
4.3 SceneNode 基础
5 你的第一个OGRE程序
6 坐标和向量
7 添加另一个物体
8 Entities more in Depth
9 SceneNodes more in Depth
10 尝试
10.1 Scale(变换)
10.2 旋转
11 总结
12 你的想法?
1 读者对象
这篇文章是假设你有C++编程知识,并设置了OGRE在编译器中,(如果你不知道如何设置,请参看《OGRE初学者引导》),对OGRE一无所知的情况下。
2 简介
在这篇教程中,我将介绍一些基本的OGRE结构:SceneManager, SceneNode, and Entity 。在这篇文章中,我不会使用太多的代码,而是讲解一些基本的理论。
通过这篇文章,你将慢慢的添加代码到你的程序中,并观察他的运行结果。对于这些理论,并没有固定的代码,你也可以通过这些理论写出其他的代码。
3 如何开始
对于这篇教程,我们使用了一段固定的代码,(也许你在《OGRE初学者引导》见过)。在这段代码中,你可以忽视其他的代码,但createScene中的代码应注意。在下一篇教程中,我们将深入讲解OGRE是如何工作的,因此这里的基本知识很重要。添加下面的代码到你的编译器中:
#include "ExampleApplication.h"
class TutorialApplication : public ExampleApplication
{
protected:
public:
TutorialApplication()
{
}
~TutorialApplication()
{
}
protected:
void createScene(void)
{
}
};
#if OGRE_PLATFORM == PLATFORM_WIN32 || 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 == 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;
}
如果你是使用WINDOWS下的OGRESDK,