• 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--
  • 相关阅读:
    文件上传和下载
    代理模式
    设计模式分类
    单例模式
    抽象工厂模式
    成长
    Java教程
    python面试大全
    python入门教程
    收藏网摘
  • 原文地址:https://www.cnblogs.com/yoran/p/1265904.html
Copyright © 2020-2023  润新知