OSG的HUD抬头文字显示
原文: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抬头文字显示相关推荐
- hud抬头显示器哪个好_汽车加装HUD抬头显示实用吗?不低头就能获取数据
HUD抬头显示有必要安装吗?今天就给大家介绍一下这款圆盾的汽车HUD抬头显示,大家结合自身的行车习惯看看是否适合安装HUD抬头显示. 现在私家车是越来越多,新晋的驾驶员也越来越多,所以驾驶安全肯定是广 ...
- android高德hud导航,教你一招,手机导航秒变HUD抬头显示
现在大多数人开车都会选择手机导航,但其实边开车边看手机,尤其在夜间是十分危险的! 所以,今天小编就教大家一个超级高大上的导航方式.导航投影到车玻璃上,告别低头看手机!如下: HUD功能 相信懂车的朋友 ...
- hud抬头显示器哪个好_手机导航秒变车载HUD抬头显示,真那么好用吗?
HUD抬头显示系统(Head Up Display),又称平视显示器,它能将车辆信息.导航信息等投射到前挡风玻璃上,以降低驾驶员低头查看仪表盘和中控台的频率,避免注意力中断,从而提升行车安全性. 近年 ...
- 21款奔驰S400商务型升级原厂HUD抬头显示系统,提升行车安全性
HUD是平视显示器的简称,它原先是运用在航空器上的飞行辅助仪器.指飞行员不需要低头,就能够看到他需要的重要资讯.由于HUD的方便性以及能够提高飞行安全,这项技术后来也发展到汽车行业.汽车搭载的HUD抬 ...
- hud抬头显示器哪个好_给爱车装上抬头显示,拒做低头族,行车更安全
相信对于HUD这个名字大家都很陌生,都不知道是车上哪个配件,但只要说成抬头显示器大家都会有所熟悉,但其实HUD也叫做抬头显示器. 主要作用就是把车辆上的信息,利用光学原理,把信息投射在前档玻璃上,使驾 ...
- 18款奔驰S320升级原厂HUD抬头显示系统,增加行车安全
HUD是平视显示器的简称,它原先是运用在航空器上的飞行辅助仪器.指飞行员不需要低头,就能够看到他需要的重要资讯.由于HUD的方便性以及能够提高飞行安全,这项技术后来也发展到汽车行业.汽车搭载的HUD抬 ...
- 23款奔驰S400商务型升级HUD抬头显示系统,增加行车安全性
HUD是平视显示器的简称,它原先是运用在航空器上的飞行辅助仪器.指飞行员不需要低头,就能够看到他需要的重要资讯.由于HUD的方便性以及能够提高飞行安全,这项技术后来也发展到汽车行业.汽车搭载的HUD抬 ...
- hud抬头显示器哪个好_还在看汽车仪盘表?带你了解一下HUD抬头显示器,开车很方便...
一直以来,抬头显示功能在汽车当中都是一个可望而不可及的配置,因为它只配备在豪华品牌汽车当中,而这些车型的价位动辄大几十万元,并不是谁都可以消费得起的.那么抬头显示功能到底为什么如此被豪车青睐呢? 在介 ...
- 医学四视图-004-四视图增加文字显示
这篇文章中就要给我的四视图增加文字显示了,这个东西就是在我摄像机上面的,不会随着图像变化而变化,感觉这个是不是就是在3D中的那种HUD呢. 电梯 1 效果展示 2 vtkTextActor 3 实 ...
最新文章
- 表格(table、tr、th、td、colspan、rowspan)
- Java 日志体系详解
- vue.config.js配置代理不生效_npm install的代理问题
- mac mysql 链接_Mysql mac安装以及navicat链接
- DP Review 1
- Policy Injection Application Block
- 南昌理工学院的计算机科学与技术专业怎么样,南昌理工学院有哪些专业及什么专业好...
- Visual Studio 2022这些重大更新,影响每一位.NET开发者!
- 判断一个数是否存在于一个非递减的有序数列中 算法(Ordered Search Problem)
- 类与对象的定义与使用小结 1114
- MySQL之Variables(变量)
- 把字母排序ASC表c语言,c语言ASCII码排序
- 手动部署ceph octopus集群
- 第八届蓝桥杯第十题 k倍区间
- jeesite如何已生成数据的数据源_jeesite 多数据源配置
- Java课程设计---Eclipse基本环境配置
- 【谭浩强版】C语言程序设计(第三版)课后习题完整答案附源码--高等教育出版社
- firefox火狐浏览器flash播放视频
- 少儿计算机兴趣小组活动记录,小学美术兴趣小组活动记录
- twrp扩大system分区_TWRP recovery 的备份功能里面有 2 个 system 分区,多占用空间,怎么搞掉?...
热门文章
- 刚评上院士的马斯克就飘了,说要每天发射三次大火箭,向火星转移100万吨物资...
- 衡阳之后,重估自动驾驶落地
- 阿里公开核心技术:如何摘下4项世界冠军,推理性能比第二名快5倍
- 马斯克的中国救星,特斯拉上海工厂内部首度曝光,数百台机器人维持疫情期间生产...
- 超强NLP思维导图,知识点全面覆盖:从基础概念到最佳模型,萌新成长必备资源...
- 搭建百度unit2.0测试代码(Java)
- spring-boot启动源码学习-1
- 看看10万程序员怎么评论:零基础的前端开发该如何系统地学习?
- 勒索病毒一周记:它让我们得到了什么经验教训?
- 什么Linux服务器最适合你?