在OpenGL中渲染2D图像(带深度),保留深度测试

时间:2012-12-10 16:17:38

标签: opengl composition depth-buffer depth-testing

我有来自外部源(比如软件光线跟踪器)的图像,它也有深度缓冲区。我想在OpenGL场景(包含几个其他3D对象)中渲染该图像,以便正确更新OpenGL深度缓冲区,即应使用正确的深度测试来组合图像和其他3D对象。有任何想法吗?没有着色器的解决方案会很好。

2 个答案:

答案 0 :(得分:0)

通过glDrawPixels(..., ..., GL_DEPTH_COMPONENT, ..., ...)加载您的深度地图并照常渲染。

答案 1 :(得分:0)

使用OpenGL pixel_buffer_object,您可以绑定深度纹理。所以这个过程如下:

  1. 加载外部纹理
  2. 加载外部深度纹理
  3. 使用两个纹理
  4. 创建pixel_buffer_object
  5. 将PBO设置为渲染目标并渲染几何体的其余部分(渲染前不要glClear)。