如何正确处理从渲染到纹理获得的深度数据范围?
我正在对连接到内部格式 GL_DEPTH_STENCIL 的纹理的深度缓冲区进行一些自定义的 2D 渲染。在片段着色器中,归一化的 Z 值(仅使用 0.0 到 1.0,我很懒…
为什么 GL 深度函数推荐使用 GL_LEQUAL(为什么它对我不起作用)?
在 GL wiki 上,他们建议使用 GL_LEQUAL 作为深度函数。另外,深度函数默认为 GL_LESS。当我使用这些函数中的任何一个时,我都会得到奇怪的结果。在这…
为什么glPolygonOffset与多边形的斜率有关
我正在使用 OpenGL 进行阴影贴图。将深度与阴影贴图进行比较时存在 z-fighting 问题。我可以使用 glPolygonOffset 解决这个问题。我知道这个函数有助…
深度缓冲区大小与视口大小相同吗?
如果我执行 #define SCREEN_SIZE 512 glEnable(GL_DEPTH_TEST); glViewport(0, 0, SCREEN_SIZE, SCREEN_SIZE); 这会使我的深度缓冲区大小 SCREEN_SIZE…
OpenGLES 2.0(GLKit、iPhone):多边形部分遮挡线框线
我正在尝试为 iOS 创建一个 3D 函数绘图仪。我已经成功地使用三角形条来渲染图形,并且还实现了通过线条绘制线框。但是,如果我使用 24 位(或 16 位…
XNA 3.1 在清除之前保留深度缓冲区
我试图通过在切换渲染目标之前从深度缓冲区复制 IDirect3DSurface9 来解决 XNA 3.1 在切换渲染目标时自动清除深度缓冲区的问题,然后在稍后恢复深度缓…
使用不同分辨率的深度和颜色缓冲区(子采样深度缓冲区)
我想使用子采样深度缓冲区来提高程序的性能。就我而言,是否存在伪影或几何体弹出并不重要。 我已经像这样设置了我的帧缓冲区: // Color attachment …
使用 2D iPhone OpenGL ES 1.1 应用程序,如何让深度缓冲区适用于纹理?
我正在制作 2D 视频游戏。现在我没有那么多精灵,并且没有深度缓冲区的纹理可以正常工作。但是,当我扩展到多个纹理时,我想使用深度缓冲区,这样我就…
如何在现代 OpenGL 中使用片段着色器中的 gl_FragCoord.z 线性渲染深度?
我阅读了很多有关使用片段着色器获得深度的信息。 例如 http://www.opengl.org/discussion_boards/ubbthreads .php?ubb=showflat&Number=234519 但我…
OpenGL ES 2.x:如何丢弃深度缓冲区 glDiscardFramebufferEXT?
我读过iOS OpenGL ES逻辑缓冲区加载,可以通过以下方式实现性能增益在每个绘制周期后“丢弃”深度缓冲区。我尝试了这个,但这是因为我的游戏引擎不再…
使用 OpenGL ES 1.1 的 Android 版本之间深度缓冲区的差异
我正在 OpenGL ES 1.0 中编写一个 2d 游戏(在适用的情况下强制转换为 1.1 扩展)。我试图尽可能保持通用,以防我错过了一些明显的东西。 我在 Androi…
影响片段着色器内部的深度或模板缓冲区?
我知道可以通过写入 gl_FragDepth 来控制写入 GLSL 中深度缓冲区的内容,但是是否可以写入模板缓冲区? 另外,我是否可以从片段着色器中完全取消像素…