OGRE学习(1)

9 篇文章 0 订阅

在网上看到好多资料,不过老版本的太多了,自己记录一些东西吧



1. setAmbientLight()。

首先需要为整个场景设置环境光,这样才可以看到要显示的内容,通过调用setAmbientLight函数并指定环境光的颜色就可以做到这些。指定的颜色由红、绿、蓝三种颜色组成,且每种色数值范围在 0 到 1 之间(我开始不知道,直接写个256上去,可运行,颜色奇怪)。

mSceneMgr->setAmbientLight(ColourValue(1,1,1));

注释: void Ogre::Materail::setAmbient(Real red, Real green, Real blue) 为每一个Technique中的每一个Pass设置环境光反射系数。

 注意: 此属性已被转移到Pass类,它是通过Technology访问。为简单起见,此方法允许您为每个当前技术设置这些属性,并且每一个Pass包含在这些Technology中。如果您需要更精确的信息,检索Technology和Pass的情况,并设置其属性

另外还有: Pass::setAmbient



2.创建场景节点:

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

整个场景由节点层次结构维持,它允许这样像相对变换,在渲染状态一般变动等(参见SceneNode获取更多的信息)事情的发生。在这个基本场景管理器类,应用程序使用Ogre是自用的使用这种层次结构无论他是什么样子,因为除了相对于每个节点相对变换,它还没有什么真实的意义(更具体的子类将构造专门的节点结构提供一些功能方法,例如加载节点BSP树)。




3. 创建实体(Entity):

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

参数:


entityName 创建实体的名字(必需唯一) meshName 网格(mesh)的名字(比如:‘knot.oof’),该网格会被加载如果它是第一次加载的话。

注:网上有很多写的  Entity* ogreHead    编译不过,因为1.8必须加命名空间Ogre::Entity* ogreHead

这个实体可以通过
headNode->attachObject(ogreHead);

绑定到节点上,然后我突发奇想同一个实体绑定两次会怎样。编译通过,运RE,我想这是必然的。

那么你还可以多加点实体

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

    Ogre::SceneNode* headNode = mSceneMgr->getRootSceneNode()->createChildSceneNode();
    headNode->attachObject(ogreHead);
	headNode->attachObject(ent);
就会产生这种恶心的图像(我指的是重叠了)





4.移动节点

headNode->translate(25,0,0);

沿着笛卡尔坐标轴移动节点 这种方法通过沿着笛卡尔坐标轴(也就是世界坐标系下的x,y,z)的固定向量来移动节点 参数: d 向量x,y,z的值代表着移动距离




5.缩放网格

headNode->scale(0.5,1,2);

根据给定的向量缩放AABB。

试了才知道,产生了更恶心的图像




PS.我找了本《Ogre_3d_1.7_beginner_Guide》中文版,看这正规点的会不会比网上资料坑。。。。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值