【学习笔记】OGRE Basic Tutorial 1

 http://www.ogre3d.org/tikiwiki/Basic+Tutorial+1&structure=Tutorials

 

下载项目框架:

BaseApplication.h
BaseApplication.cpp
TutorialApplication.h
TutorialApplication.cpp

 

只需要修改TutorialApplication里的createScene方法就行了

 

1. SceneManager:管理scene里的一切东西。可分为很多类型,管理不同类东西。

2. Entity:能够用3d mesh描述的任何东西,如机器人、鱼等,但Lights、camera等这些不用3d mesh构建的不算。

    Entity::setVisible, Entity::isVisible   //设置Entity是否可见

    Entity::getName     //获得Entity的名字

    Entity::getParentSceneNode     //获得该Entity被附加到的SceneNode

3. SceneNode:管理物体的location和orientation属性,可附加Entity或SceneNode或其他object。

    SceneNode::getPosition / SceneNode::setPosition       //设置它相对于父SceneNode节点的位置

    SceneNode::translate   //相对于本身位置的移动

    物体的旋转:pitch,yaw,roll

    重置做过的旋转:resetOrientation

   

 

单有Entity或但单有SceneNode都不能在scene上显示,即在屏幕上看不到,只有两者结合才能在scene上显示。

明显地,Entity只有物体本身属性,没有屏幕定位信息,屏幕不知道要把它放哪里,所以不能显示。

SceneNode只有定位,没有物体,不知道要显示什么,因此更不能在屏幕上显示。

 

=============================================================

大概步骤:

(mSceneMgr是在BaseApplication上创建的SceneManager变量)

1.设置周围环境的灯光

mSceneMgr->setAmbientLight(Ogre::ColourValue(1.0, 1.0, 1.0));

经过更改参数运行发现:

setAmbientLight是设置环境的光,如果没有设置这个属性,物体就没有阴影。

Ogre::Light* l = mSceneMgr->createLight("MainLight");这个是设置物体本身的光,

如果没有设置这个属性,物体的颜色就呈一整块,没有3D效果。

 

2.创建Entity

Ogre::Entity* ogreHead = mSceneMgr->createEntity("Head", "ogrehead.mesh");

 

3.在SceneManager的根节点下创建SceneNode子节点

Ogre::SceneNode* headNode = mSceneMgr->getRootSceneNode()->createChildSceneNode("HeadNode");

 

4.附加Entity到SceneNode,在屏幕上显示
headNode->attachObject(ogreHead);

 

======================================================================

Ogre坐标系

屏幕左下角为原点,向右X正方向,向上Y正方向,像屏幕外Z正方向

 

Ogre环境

有3个库:主库、插件、第三方库

 

配置文件

plugins.cfg ---> 插件应用的配置

resources.cfg ---> 配置Ogre寻找资源的路径

media.cfg ---> Ogre一些资源更详细的信息

ogre.cfg ---> 屏幕的配置

quake3settings.cfg ---> 被用于BSPSceneManager

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值