Ogre中在SceneNode节点旁显示二维字的代码

Ogre中在SceneNode节点旁显示二维字的代码

Posted on 2008-03-09 22:52 ArenAK 阅读(298) 评论(1)   编辑 收藏 所属分类: Graphics
    在Ogre官方网站的wiki上有一个MovableText类: http://www.ogre3d.org/wiki/index.php/MovableText
    它可以用来在SceneNode旁显示二维字,使用时只要构造一个MovableText对象,然后将其挂在SceneNode下就可以了。其实我们可以用它显示各种二维字,包括像Overlay一样的东西。在我们的工程中,我们用它来显示飞行模拟器各仪表上的二维文字。

   一、 这里给的是我对MovableText的一个改进版,主要增加两项功能:
    1.可以使文字反色(或者说是高亮)
                 
      通过给material增加一个pass,然后进行混合来实现:
1 {
2Pass *_pass0 = mpMaterialReverse->getBestTechnique()->getPass(0);
3Pass *_pass = mpMaterialReverse->getBestTechnique()->createPass();
4mpMaterialReverse->getBestTechnique()->movePass(1,0);
5_pass0->setSceneBlending(SBF_ZERO,SBF_ONE_MINUS_SOURCE_ALPHA);
6}
   
    2.设置文字与SceneNode的相对位置。
       在写字时通过位置偏移计算三角形顶点坐标实现。

    二、这个类使用方法很简单:
1 {
2m_Text = new MovableText("Title","OGRE" ,"BlueHighway"5, ColourValue::Green);
3m_Text->setRelativePos(-103);
4m_Text->setTextAlignment(MovableText::H_CENTER, MovableText::V_BELOW);
5m_MonsterSceneNode->attachObject(m_Text);
6}
    在需要高亮显示时调用:
m_Text -> reverseColor();
 
    代码在 这里 下载
--ArenAK--

转载于:https://www.cnblogs.com/yoran/archive/2008/08/12/1265904.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值