靠,写了一大半断电了,重写的,所以一切从简:
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的设置等。以后再慢慢了解