问题标签 [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 回答
833 浏览

direct3d - StretchRect 可以与 DF24 或 INTZ 表面一起使用吗?可以对 DF24 或 INTZ 进行多重采样吗?

您可以将 DF24 中的 StretchRect 延伸到另一个 DF24(特定于 ATI)吗?

您可以将 INTZ 中的 StretchRect 拉伸到另一个 INTZ(特定于 nVidia)吗?

您可以将 DF24 或 INTZ 创建为多重采样表面吗?

0 投票
2 回答
1511 浏览

iphone - OpenGL ES depth buffer

I was wondering if I can deallocate the depth buffer in iPhone OpenGL ES to conserve memory? Or it stays until the application finishes?

I only need the depth testing in the beginning of the application.

0 投票
4 回答
2697 浏览

opengl-es - iPhone OpenGL ES:对 2D 游戏具有透明像素的纹理应用深度测试

目前,我为 2D 游戏开启了混合和深度测试。当我绘制我的纹理时,如果它们相交,“上部”纹理会删除下部纹理的一部分。显然,深度测试考虑了纹理的透明像素,如果它们相交,它会清除绘制的下部纹理的所有颜色。此外,alpha 混合渲染不正确。是否有任何类型的函数可以告诉 OpenGL 在深度测试中不包括透明像素?

0 投票
1 回答
1026 浏览

java - Java OpenGL 保存深度缓冲区

我不完全确定我是否可以在这里做我想做的事,但我有一堆对象在 OpenGL 中渲染(使用 JOGL)。对于一组对象,我想确保该组中的某些对象呈现在该组中的其他对象之前。我已经尝试清除深度缓冲区位并最后渲染“前”对象,这很有效,除了它会弄乱屏幕上的其他深度缓冲。

归结为我有一个正在渲染的对象列表,我想确保该列表中的某些对象呈现在其他对象的前面(尽管它们都在同一个 Z 坐标处)。有没有办法做到这一点?

谢谢,杰夫

0 投票
1 回答
512 浏览

java - 禁用深度测试时,Java OpenGL 颜色材质变暗

我一直在使用 OpenGL (JOGL) 中的深度缓冲区,以确保通过禁用深度缓冲区(在我之前的问题Java OpenGL Saving depth buffer中有详细说明)将某些项目呈现在其他项目之前。

这有效,除非我在禁用深度测试时设置正在绘制的项目的颜色,否则不会显示任何材料光泽。该项目被渲染为原始颜色的较暗版本(似乎没有真正应用于它的照明效果)。发生这种情况有什么原因吗?以及如何防止这种情况?

谢谢,杰夫

0 投票
3 回答
8166 浏览

opengl-es - OpenGL es 2.0 Read depth buffer

As far as i know, we can't read the Z(depth) value in OpenGL ES 2.0. So I am wondering how we can get the 3D world coordinates from a point on the 2D screen?

Actually I have some random thoughts might work. Since we can read the RGBA value by using glReadPixels, how about we duplicate the depth buffer and store it in a color buffer(say ColorforDepth). Of course there need to be some nice convention so that we don't lose any information of the depth buffer. And then when we need a point's world coordinates , we attach this ColorforDepth color buffer to the framebuffer and then render it. So when we use glReadPixels to read the depth information at this frame.

However, this will lead to 1 frame flash since the colorbuffer is a weird buffer translated from the depth buffer. I am still wondering if there is some standard way to get the depth in OpenGL es 2.0?

Thx in advance!:)

0 投票
1 回答
299 浏览

graphics - 深度缓冲区仅显示蓝色

我正在尝试在 RenderMonkey 中实现 Light Prepass 渲染。到目前为止,在 Normal+Depth 通道中,Normal 缓冲区似乎得到了正确的结果,但 Depth 缓冲区只显示一种颜色。如何检查我的深度缓冲区是否正确?工作区下载链接:http ://www.mediafire.com/?jq3jmantyxw

0 投票
1 回答
1047 浏览

iphone - 使用 glDrawTexfOES 渲染带有前景对象的背景图像的问题

我有一个简单的 iPhone OpenGL ES 应用程序,我在其中使用纹理渲染全屏背景图像,然后使用线条在其上绘制 3D 多面体。使用 glDrawTexfOES 显示纹理。

问题是我似乎无法在背景顶部显示多面体。在 glDrawTexfOES 调用中,如果我使用小于 1 的 az 值,则背景图像显示但没有多面体。如果 z 值为 1(或更大),则显示多面体但不显示背景图像。

未启用混合。深度测试已开启。附加深度缓冲区。仅绘制多面体时,深度测试似乎正在起作用。多面体用简单的线条绘制。

z 值行为表明多面体的深度缓冲区值可能为 1...?

关于如何同时显示背景图像和前景对象的任何线索?

0 投票
3 回答
4641 浏览

3d - 如何对 3D 引擎的三角形进行 Z 排序?

我正在为我正在开发的游戏构建一个小型 3D 引擎。我已经整理好了基础知识:带有背面剔除的纹理三角形。然而,深度排序被证明是一个难题。

我通过平均构成三角形面的 3 个点来计算面 Z。较长的面有时会与较小的面重叠,因为它们具有较大的 Z 值,因此在深度排序的显示列表中上升。

我该如何解决?如果我只能在编程时获得一些实际帮助,我确信有已知的深度排序技术。我自己构建了渲染管道,因此我可以访问所有必需的数据——三角形、点、纹理、UV 坐标等。

以 3D 程序渲染的大教堂

替代文字

在我的 3D 引擎中渲染的大教堂

替代文字

0 投票
1 回答
4897 浏览

c# - 如何禁用深度缓冲区?

我没有看到 aRenderState作为GraphicsDevice类中的成员,这是用于禁用深度缓冲区的函数曾经所在的位置。有人知道这个新的 4.0 API 是如何做到的吗?

如果我能以某种方式在RenderState某个地方访问类似完整的课程,那就太好了.. GraphicsDevice似乎已经得到了一些,但不是几乎全部!