在ogre里面显示二维图片

最近我想在ogre里面实现这样的功能:指向一个物体,显示一张二维图片,介绍该物体的相关信息。

在ogre社区找到了解决办法,

如下:

 

创建一个2D长方形:Rectangle2D *rect = new Rectangle2D(true);
设置长方形大小: rect->setCorners(-0.5f,0.5f,0.5f,-0.5f);

设置材质、渲染队列等:

 rect->setMaterial("Examples/Test"); 
 rect->setRenderQueueGroup(Ogre::RENDER_QUEUE_OVERLAY);

(这里设的OVERLAY层,当然你可以设为BACKGROUD等其它层)


 这里需要创建一个包围盒:

 AxisAlignedBox *aabb = new AxisAlignedBox();
 aabb->setInfinite();

( Ogre是一个3D引擎,它会把2D物体当作在3D空间里对待。这意味着,如果我们创建这个物体,并把它绑在场景节点上,当我们远一点观看时会消失。为了修正这个问题,我们将把这个物体的包围盒设置成无限大,这样摄像机就永远在它里面 )

 

将二者联合起来,并绑定在一个节点上:

rect->setBoundingBox(*aabb);                             
SceneNode* backNode=mSceneMgr->getRootSceneNode()->createChildSceneNode("BackgroundNode");             
backNode->attachObject(rect);

 

 

呵呵,这样就实现了。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值