OGRE 学习小记 Basic Tutorial 1

靠,写了一大半断电了,重写的,所以一切从简:

1.奉上原网址:http://www.ogre3d.org/tikiwiki/Basic+Tutorial+1&structure=Tutorials

2.要注意的地方有三个,

第一,教程是在TutorialFrameWork的四个文件的基础上来写的,只需要下载之,加入工程,配置好环境,即可编译,

下载地址http://www.ogre3d.org/tikiwiki/Ogre+Wiki+Tutorial+Framework,下载后添加拓展名“.zip”解压可得

第二,记得要在TutorialApplication.h里面加入

#pragma comment(lib,"Ogremain_d.lib")
#pragma comment(lib,"OIS_d.lib")

第三,生成exe的目标文件夹必须设置好,最好是在SDK的BIN文件夹的debug或者release文件夹中,因为那里已经有ogre程序运行所需的各种dll和cfg文件,否则的话需要复制相应的文件到你设置的“生成EXE的文件夹”中

至于baseApplication中封装的各种操作,我们在后面再一一介绍。

3.在createScene中添加如下代码:

   Ogre::Entity* ogreHead = mSceneMgr->createEntity("Head", "ogrehead.mesh");
 
    Ogre::SceneNode* headNode = mSceneMgr->getRootSceneNode()->createChildSceneNode();
    headNode->attachObject(ogreHead);
 
    // Set ambient light
    mSceneMgr->setAmbientLight(Ogre::ColourValue(0.5, 0.5, 0.5));
 
    // Create a light
    Ogre::Light* l = mSceneMgr->createLight("MainLight");
    l->setPosition(20,80,50);

再编译运行,应该能看到一个ogre的头了,

这里面出现了本课的三大主角:

SceneManager:

屏幕上显示的一切内容都由他管理,其内管理多个sceneNode,还有各种强大到逆天的函数,拥有改变世界的力量,比如

setAmbientLight()可以改变环境光,createEntity()可以凭空创造物体

SceneNode:

包含着与其连接的object的位置和方位等信息,并提供各种操作和获取这些信息的函数

Entity:

object的一种,一般是一个3D模型,连接到sceneNode以后,才可以对其进行相应的位置和方位的操作

知道这些以后,上面的代码就很容易理解了:用sceneManager创造一个entity再连接到根节点的一个子节点上面,然后用sceneManager设置了一下环境光,最后顺便创建了一个灯光,没了。

接下来的教程无非就是试验一下几个函数,把那个头的位置方位等摆弄下就不详细介绍了。

4.baseApplication封装了许多部分,比如相机的设置,鼠标键盘的操作,viewport的设置等。以后再慢慢了解

 

 

posted @ 2012-01-05 11:54  放羊老头  阅读(195)  评论(0编辑  收藏  举报