原文:http://blog.csdn.net/tmljs1988/article/details/7562926

可以运行

1.       HUD流程图:

完整源代码如下:

/*OSG中的HUD,文字总是显示在最前面*/

#include <osgDB/ReadFile>

#include <osgViewer/Viewer>

#include <osg/Geode>

#include <osg/Depth>

#include <osg/CameraNode>

#include <osgText/Text>

#pragma comment( lib, "osgd.lib"); //.在Debug版本下的库名都加d,如"osgd.lib"

#pragma comment( lib, "osgDBd.lib")

#pragma comment( lib, "osgViewerd.lib");

#pragma comment( lib, "osgTextd.lib");

osg::Node* createHUD()

{

//文字

osgText::Text* text = new osgText::Text;

//设置字体

std::string caiyun("fonts /STCAIYUN.TTF");//此处设置的是汉字字体

text->setFont(caiyun);

//设置文字显示的位置

osg::Vec3 position(150.0f,500.0f,0.0f);

text->setPosition(position);

text->setColor( osg::Vec4( 1, 1, 0, 1));

text->setText(L"osg中国官网网站www.osgChina.org");//设置显示的文字

//几何体节点

osg::Geode* geode = new osg::Geode();

geode->addDrawable( text );//将文字Text作这drawable加入到Geode节点中

//设置状态

osg::StateSet* stateset = geode->getOrCreateStateSet();

stateset->setMode(GL_LIGHTING,osg::StateAttribute::OFF);//关闭灯光

stateset->setMode(GL_DEPTH_TEST,osg::StateAttribute::OFF);//关闭深度测试

//打开GL_BLEND混合模式(以保证Alpha纹理正确)

stateset->setMode(GL_BLEND,osg::StateAttribute::ON);

//相机

osg::Camera* camera = new osg::Camera;

//设置透视矩阵

camera->setProjectionMatrix(osg::Matrix::ortho2D(0,600,0,600));//正交投影

//设置绝对参考坐标系,确保视图矩阵不会被上级节点的变换矩阵影响

camera->setReferenceFrame(osg::Transform::ABSOLUTE_RF);

//视图矩阵为默认的

camera->setViewMatrix(osg::Matrix::identity());

//设置背景为透明,否则的话可以设置ClearColor

camera->setClearMask(GL_DEPTH_BUFFER_BIT);

camera->setAllowEventFocus( false);//不响应事件,始终得不到焦点

//设置渲染顺序,必须在最后渲染

camera->setRenderOrder(osg::CameraNode::POST_RENDER);

camera->addChild(geode);//将要显示的Geode节点加入到相机

return camera;

};

int main( int argc, char **argv )

{

osgViewer::Viewer viewer;

osg::ref_ptr<osg::Node> model = osgDB::readNodeFile("fountain.osg");

osg::ref_ptr<osg::Group> root= new osg::Group;

root->addChild( model.get());//加入某个模型

root->addChild(createHUD());//把HUD文字的相机加入到根节点下

viewer.setSceneData( root.get());

viewer.realize();

viewer.run() ;

return 0;

}

转载于:https://www.cnblogs.com/zhizhan/p/4957430.html

OSG的HUD抬头文字显示相关推荐

  1. hud抬头显示器哪个好_汽车加装HUD抬头显示实用吗?不低头就能获取数据

    HUD抬头显示有必要安装吗?今天就给大家介绍一下这款圆盾的汽车HUD抬头显示,大家结合自身的行车习惯看看是否适合安装HUD抬头显示. 现在私家车是越来越多,新晋的驾驶员也越来越多,所以驾驶安全肯定是广 ...

  2. android高德hud导航,教你一招,手机导航秒变HUD抬头显示

    现在大多数人开车都会选择手机导航,但其实边开车边看手机,尤其在夜间是十分危险的! 所以,今天小编就教大家一个超级高大上的导航方式.导航投影到车玻璃上,告别低头看手机!如下: HUD功能 相信懂车的朋友 ...

  3. hud抬头显示器哪个好_手机导航秒变车载HUD抬头显示,真那么好用吗?

    HUD抬头显示系统(Head Up Display),又称平视显示器,它能将车辆信息.导航信息等投射到前挡风玻璃上,以降低驾驶员低头查看仪表盘和中控台的频率,避免注意力中断,从而提升行车安全性. 近年 ...

  4. 21款奔驰S400商务型升级原厂HUD抬头显示系统,提升行车安全性

    HUD是平视显示器的简称,它原先是运用在航空器上的飞行辅助仪器.指飞行员不需要低头,就能够看到他需要的重要资讯.由于HUD的方便性以及能够提高飞行安全,这项技术后来也发展到汽车行业.汽车搭载的HUD抬 ...

  5. hud抬头显示器哪个好_给爱车装上抬头显示,拒做低头族,行车更安全

    相信对于HUD这个名字大家都很陌生,都不知道是车上哪个配件,但只要说成抬头显示器大家都会有所熟悉,但其实HUD也叫做抬头显示器. 主要作用就是把车辆上的信息,利用光学原理,把信息投射在前档玻璃上,使驾 ...

  6. 18款奔驰S320升级原厂HUD抬头显示系统,增加行车安全

    HUD是平视显示器的简称,它原先是运用在航空器上的飞行辅助仪器.指飞行员不需要低头,就能够看到他需要的重要资讯.由于HUD的方便性以及能够提高飞行安全,这项技术后来也发展到汽车行业.汽车搭载的HUD抬 ...

  7. 23款奔驰S400商务型升级HUD抬头显示系统,增加行车安全性

    HUD是平视显示器的简称,它原先是运用在航空器上的飞行辅助仪器.指飞行员不需要低头,就能够看到他需要的重要资讯.由于HUD的方便性以及能够提高飞行安全,这项技术后来也发展到汽车行业.汽车搭载的HUD抬 ...

  8. hud抬头显示器哪个好_还在看汽车仪盘表?带你了解一下HUD抬头显示器,开车很方便...

    一直以来,抬头显示功能在汽车当中都是一个可望而不可及的配置,因为它只配备在豪华品牌汽车当中,而这些车型的价位动辄大几十万元,并不是谁都可以消费得起的.那么抬头显示功能到底为什么如此被豪车青睐呢? 在介 ...

  9. 医学四视图-004-四视图增加文字显示

    ​ 这篇文章中就要给我的四视图增加文字显示了,这个东西就是在我摄像机上面的,不会随着图像变化而变化,感觉这个是不是就是在3D中的那种HUD呢. 电梯 1 效果展示 2 vtkTextActor 3 实 ...

最新文章

  1. 表格(table、tr、th、td、colspan、rowspan)
  2. Java 日志体系详解
  3. vue.config.js配置代理不生效_npm install的代理问题
  4. mac mysql 链接_Mysql mac安装以及navicat链接
  5. DP Review 1
  6. Policy Injection Application Block
  7. 南昌理工学院的计算机科学与技术专业怎么样,南昌理工学院有哪些专业及什么专业好...
  8. Visual Studio 2022这些重大更新,影响每一位.NET开发者!
  9. 判断一个数是否存在于一个非递减的有序数列中 算法(Ordered Search Problem)
  10. 类与对象的定义与使用小结 1114
  11. MySQL之Variables(变量)
  12. 把字母排序ASC表c语言,c语言ASCII码排序
  13. 手动部署ceph octopus集群
  14. 第八届蓝桥杯第十题 k倍区间
  15. jeesite如何已生成数据的数据源_jeesite 多数据源配置
  16. Java课程设计---Eclipse基本环境配置
  17. 【谭浩强版】C语言程序设计(第三版)课后习题完整答案附源码--高等教育出版社
  18. firefox火狐浏览器flash播放视频
  19. 少儿计算机兴趣小组活动记录,小学美术兴趣小组活动记录
  20. twrp扩大system分区_TWRP recovery 的备份功能里面有 2 个 system 分区,多占用空间,怎么搞掉?...

热门文章

  1. 刚评上院士的马斯克就飘了,说要每天发射三次大火箭,向火星转移100万吨物资...
  2. 衡阳之后,重估自动驾驶落地
  3. 阿里公开核心技术:如何摘下4项世界冠军,推理性能比第二名快5倍
  4. 马斯克的中国救星,特斯拉上海工厂内部首度曝光,数百台机器人维持疫情期间生产...
  5. 超强NLP思维导图,知识点全面覆盖:从基础概念到最佳模型,萌新成长必备资源...
  6. 搭建百度unit2.0测试代码(Java)
  7. spring-boot启动源码学习-1
  8. 看看10万程序员怎么评论:零基础的前端开发该如何系统地学习?
  9. 勒索病毒一周记:它让我们得到了什么经验教训?
  10. 什么Linux服务器最适合你?