ogre 简单实现“画中画”

在ogre中一个Viewpor中显示的内容是一个Camera从场景中的某个观察视角所“看到”场景的呈现。一个viewport只能有一camera作为资源。要实现“画中画”的效果,主要了解一下addViewport()函数;

addViewport()函数:

其原型:Viewport *addViewport(Camera *cam,int ZOrder=0,float left=0.0f,float top=0.0f,float width=1.0f,float height=1.0f)

第一个参数:即指向所使用的擦么camera;

ZOrder:代表该viewport的在所有中Z轴次序,ZOrder值大的viewport覆盖在值小的viewport上;

其它参数的取值范围:0~1;


一个简单的例子代码:

#include"ExampleApplication.h"
class MyApp: public ExampleApplication
{
public:
void createScene()
{
Ogre::SceneNode *mNode=mSceneMgr->getRootSceneNode()->createChildSceneNode();
Ogre::Entity *ent=mSceneMgr->createEntity("robot.mesh");
mNode->attachObject(ent);


Ogre::Camera *mCam=mSceneMgr->createCamera("MyCamera");
        mCam->setPosition(0,100,200);
mCam->lookAt(0,0,0);
        mCam->setNearClipDistance(5);


Ogre::Viewport *vp= mWindow->addViewport(mCam,1,0,0,0.3,0.5);   //ExampleApplication中以创建一个viewport它的ZOrder=0;
mCam->setAspectRatio(Ogre::Real(vp->getActualWidth())/Ogre::Real(vp->getActualHeight()));
     vp->setBackgroundColour(Ogre::ColourValue(0,0,1));
}
};
int main()
{
MyApp app;
return app.go();
}


效果图:



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值