位置: 编程技术 - 正文
推荐整理分享利用openGL进行AR Visualization(opengl 实现),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:opengl varying,opengl varying,opengl使用,opengl软件实现,opengl api,opengl软件实现,opengl使用,opengl ai,内容如对您有帮助,希望把文章链接给更多的朋友!
AR与VR不同,VR是制造一个虚拟的环境,使人在其中有沉浸感;AR是将虚拟的物体overlay到实际的场景中,有助于人们更好的理解场景。实现AR的手段有很多,也有这方面的库,比如AR Toolkit。我现在选择使用openGL来实现AR Visualization的功能。
首先是真实场景的显示,为了简单,这里只是显示了真实场景的bmp图片,当然实际中应该显示的是真实场景的一段视频之类的。在openGL中显示bmp图片有两种方式:一种是直接显示图片,一种是将图片作为纹理贴到创建的多边形中进行显示。这里选择第二种方法是有效的,因为第二种方法中图片的大小会随着窗口的大小进行变化,而第一种方法中,不管窗口如何变化,图片总是保持原有的尺寸不变,显然这是不满足我们的要求的。
在显示了真实的场景之后,我们要把要增强显示的部分overlay到场景之上,并将增强显示的部分设为半透明的。半透明的设置方法用glBlendFunc(GL_ONE,GL_ONE)得到的效果比较好。
在openGL中最重要的部分就是相机和各个物体间的相对位置。Overlay的模型和相机之间的关系是通过Registration过程得到的,真实场景的bmp图片和相机的关系需要计算设置。另外虚拟相机的摆放位置也和实际中相机的内参有关。这部分要仔细阅读openGL中关于视图那一章。
下面贴出一幅我搞的图像,在一幅bmp图像前显示了一个半透明的蓝色的球体,这里没有考虑它们之间的相对位置关系。
OpenGL学习_点画模式(点画线) viodglLineStipple(GLintfactor,GLshortpattern);OpenGL中设置直线的当前点画模式。pattern参数是由1或0组成的位序列,它们根据需要进行重复,对一条特定的直线进
C#+OpenGL编程之再见小桃子(The Tao Framework) 本文基础:C#OpenGL编程之OpenGL纹理载入C#OpenGL编程之OpenGL多重纹理小桃子TheTaoFrameworkTao提供的所有库都是完全开源的。其中的多数库都可以免费用在商业
OpenGL学习_点画模式(点画多边形) 在默认情况下,填充多边形是用实心模式绘制的。此外,它们还可以使用一种位×位的窗口对齐的点画模式。glPolygonStipple()函数用于指定多边形的点
标签: opengl 实现
本文链接地址:https://www.jiuchutong.com/biancheng/373268.html 转载请保留说明!上一篇:骨头动画解析(骨头动漫头像)
友情链接: 武汉网站建设