从深度传感器到OpenGL的z缓冲区的数据实现遮挡

时间:2015-05-13 10:59:37

标签: c++ opengl zbuffer occlusion

我想了解更多关于使用来自深度传感器(例如kinect或Realsense RGB-D开发套件)的数据的增强现实应用程序中的遮挡。

我读到应该做的是将渲染对象的z缓冲区值与传感器的深度贴图值进行比较,并以某种方式掩盖这些值,以便只能看到更接近用户的像素。有没有人有任何资源或开源代码可以帮助我理解它?

更重要的是,我希望我的手(我将其检测为blob)始终遮挡虚拟对象。这样做不是更容易吗?

1 个答案:

答案 0 :(得分:0)

您可以将深度数据上传为纹理,并将其绑定为渲染目标的深度缓冲区。

这需要将投影矩阵的近平面和远平面与深度传感器的最小值和最大值进行匹配。

如果渲染目标的大小与深度数据的大小不同,那么您可以在片段着色器中使用它,并在discard;遮挡它时使用它。

相关问题