问题标签 [depth-buffer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4270 浏览

opengl - 渲染到屏幕外缓冲区然后渲染到纹理时如何使用深度测试

我正在将我的场景渲染为纹理。除了深度测试不起作用之外,这很好用。如果渲染到屏幕外纹理,如何启用深度测试?我正在使用 FrameBuffer 类http://www.opengl.org/news/comments/framebuffer_object_fbo_c_class_available_with_example_application/

0 投票
1 回答
1355 浏览

opengl - 支持 cudaGraphicsGLRegisterImage 的 GL_DEPTH_COMPONENT

我正在尝试使用用于多边形渲染的 OpenGL 和用于体积渲染的 CUDA 执行组合渲染。我的想法是将 OpenGL 场景渲染到帧缓冲区中,然后使用该颜色和深度缓冲区作为我的 CUDA 渲染器的输入,以与 OpenGL 相同的方式使用它,因此我得到了正确的 alpha 和深度合成。

但是,我遇到了一个问题。当我打电话时:

第一个没有错误cudaGraphicsGLRegisterImage,但第二个出现“无效参数”错误。CUDA 3.2 不支持注册深度组件纹理吗?4.0(当它出来时)?还有另一种方法可以解决我缺少的问题吗?

0 投票
1 回答
1241 浏览

matlab - 用于模拟 kinect 的 Matlab z 缓冲区

我们正在尝试模拟简单的 kinect 输出。

我已经在 Matlab 中渲染了一个三角形网格,现在我想获得已渲染形状的图形/轴的深度缓冲区。我如何在matlab中做到这一点?即如何访问图形的深度缓冲区?

0 投票
3 回答
7273 浏览

opengl - opengl z排序透明度

我在opengl es 2.0中的简单正方形上渲染png,但是当我尝试在正方形后面绘制一些东西时,我已经绘制了顶部正方形中的透明区域被渲染为与背景相同的颜色。

我在每次渲染调用开始时调用这些。

0 投票
2 回答
3199 浏览

android - Android上的OpenGL深度缓冲区问题

我正在为 Android 开发一个 3D 渲染引擎。我遇到了深度缓冲区的一些问题。我正在画一些立方体,一个大的和两个小的,它们会落在较大的那个上面。在渲染时,我发现深度缓冲区的某些东西显然是错误的,如下面的屏幕截图所示:

设备上的深度缓冲区问题

此屏幕截图是在具有 OpenGL ES 1.1 的 HTC Hero(运行 Android 2.3.4)上拍摄的。整个应用程序(仍然)针对 OpenGL ES 1.1。它在模拟器上看起来确实一样。

这些是我在渲染器中的 onSurfaceCreated 方法中的调用:

深度位的 GL 调用在设备上返回 16,在模拟器上返回 0。如果它仅在模拟器上不起作用,那将是有道理的,因为显然不存在深度缓冲区。(我尝试将 EGLConfigChooser 设置为 true,因此它会创建一个尽可能接近 16 位深度缓冲区的配置,但这在模拟器上不起作用。在设备上没有必要。)

在我的 onDrawFrame 方法中,我进行了以下 OpenGL 调用:

然后对于每个立方体:

我错过了什么?如果需要更多代码,请询问。

感谢您的任何建议!

0 投票
2 回答
6052 浏览

opengl - 帧缓冲区对象 (FBO) 与渲染和深度缓冲区关系

我在网上看到了许多示例(例如),它们执行以下操作

  • 创建和绑定 FBO
  • 创建和绑定缓冲区(纹理、渲染、深度、模板)
  • 然后,解除绑定缓冲区
  • 要使用 FBO - 绑定 FBO,请先完成工作,然后取消绑定 FBO
  • 但是,也可以使用纹理缓冲区绑定纹理缓冲区以进行读取、写入等操作
  • 但从未见过重新绑定其他缓冲区(渲染、深度、模板),为什么?

BUFFERS 创建和绑定/取消绑定的示例(以下代码仅用于展示我解释的内容并完美运行),

1. 为什么我们不需要再次绑定所有的 BUFFERS(我的意思是在使用/绘制对象到 FBO 时)?

2. 幕后发生了什么?

编辑:附加-> 绑定和解除附加-> 取消绑定

0 投票
1 回答
1607 浏览

android - glReadPixels(Depth_Component) 在 Android OpenGL ES20 中不起作用

我使用以下代码来检索深度缓冲区:

问题是,无论我要求哪一点,像素都给我 0.0;

我在中启用了以下功能onSurfaceCreated

这几天我一直在为这个问题苦苦挣扎!请帮忙。

0 投票
1 回答
414 浏览

android - Galaxy s 上 opengles2 和姜饼的问题

将galaxy s 升级到android 2.3.3 后,有没有人经历过深度排序行为的变化?

我发现一旦达到某个多数阈值,深度排序就无法工作。

在 2.2 上运行良好的场景现在无法排序。

有人有这方面的信息吗?当我谷歌时,什么都没有出现。

0 投票
2 回答
1536 浏览

opengl - 使用光线投射时在深度缓冲区中写入正确的值

我在 3d 纹理中进行光线投射,直到达到正确的值。我正在一个立方体中进行光线投射,并且立方体角已经在世界坐标中,所以我不必将顶点与模型视图矩阵相乘以获得正确的位置。

顶点着色器

片段着色器

一切都按预期工作,我现在想要的是将正确的值采样到深度缓冲区。现在写入深度缓冲区的值是立方体坐标。但我希望pos写入 3d 纹理中的值。

因此,假设立方体10远离原点放置-z,大小为10*10*10. 我无法正常工作的解决方案是:

0 投票
1 回答
1716 浏览

ios - glReadPixels 不读取 iOS 上的深度缓冲区值

我似乎无法在 iOS 4.3 上读取 OpenGL ES2 中的深度缓冲区值

我的深度缓冲区目前已绑定到位并且可以运行,但是该函数只读取 0 值,并且它似乎几乎立即返回。如果我给它一个 GL_RGBA,这将需要相当长的时间,并且确实会返回结果。iOS 上的 ES2 是否不支持此功能?

谢谢!