游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1620|回复: 4

OGRE 问题

[复制链接]

18

主题

66

帖子

66

积分

注册会员

Rank: 2

积分
66
发表于 2006-11-29 13:32:00 | 显示全部楼层 |阅读模式
        void createScene(void)
        {
                Entity* e = mSceneMgr->createEntity("ogrehead","ogrehead.mesh");

                SceneNode *node = mSceneMgr->getRootSceneNode()->createChildSceneNode();

                node->attachObject(e);
                node->setPosition(0,0,0);
                ColourValue c = ColourValue(0.5, 0.5, 0.5);
                mSceneMgr->setAmbientLight(c);
                Light *l = mSceneMgr->createLight("alight");

                SceneNode *lightnode = static_cast<SceneNode*>(mSceneMgr->getRootSceneNode()->createChild());

                lightnode->attachObject(l);
                lightnode->setPosition(mCamera->getPosition());
        }

为什么创建一个 entity把他挂到场景中使用这个创建子接点
SceneNode *node = mSceneMgr->getRootSceneNode()->createChildSceneNode();
而创建一个灯光使用这个创建接点
SceneNode *lightnode = static_cast<SceneNode*>(mSceneMgr->getRootSceneNode()->createChild());

这2中接点创建在场景中有什么区别?

36

主题

1047

帖子

1147

积分

金牌会员

Rank: 6Rank: 6

积分
1147
发表于 2006-11-29 13:48:00 | 显示全部楼层

Re:OGRE 问题

OGRE 的场景组织的确让人有些晕,实际上上面两种创建方法没有分别,看源代码便知:
SceneNode 从 Node 继承过来,CreateChild 是 Node 的成员函数,而 CreateChildSceneNode 是 SceneNode 成员函数,
SceneNode* SceneNode::createChildSceneNode(const Vector3& translate, const Quaternion& rotate)
{
    return static_cast<SceneNode*>(this->createChild(translate, rotate));
}
最后创建出来的都是 SceneNode 类型变量,用来组织 SG 的基本节点。

201

主题

1437

帖子

1963

积分

金牌会员

Rank: 6Rank: 6

积分
1963
QQ
发表于 2006-11-29 13:49:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

18

主题

66

帖子

66

积分

注册会员

Rank: 2

积分
66
 楼主| 发表于 2006-11-29 19:19:00 | 显示全部楼层

Re: Re:OGRE 问题

niexuchina: Re:OGRE 问题

先搞清楚createChildSceneNode()和createChild()的区别。


我也觉得没有什么区别,楼上的高手可以讲将吗?

201

主题

1437

帖子

1963

积分

金牌会员

Rank: 6Rank: 6

积分
1963
QQ
发表于 2006-11-30 10:41:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-25 23:22

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表