我有一张来自外部来源(比如软件光线追踪器)的图像,它还有一个深度缓冲区。我想在OpenGL场景(包含几个其他3D对象)中渲染该图像,以便正确更新OpenGL深度缓冲区,即图像和其他3D对象应使用正确的深度测试进行组合。有什么想法吗?没有着色器的解决方案会很好。
通过glDrawPixels(..., ..., GL_DEPTH_COMPONENT, ..., ...)
加载深度图并照常渲染。
使用 OpenGL pixel_buffer_object,您可以绑定深度纹理。因此,该过程将如下所示:
- 加载外部纹理
- 加载外部深度纹理
- 使用两种纹理创建pixel_buffer_object
- 将 PBO 设置为渲染目标并渲染几何体的其余部分(在渲染之前不要 glClear)。