利用openGL进行AR Visualization

        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图像前显示了一个半透明的蓝色的球体,这里没有考虑它们之间的相对位置关系。


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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值