可以“看穿” openGL 中的对象

发布于 2024-12-12 18:43:40 字数 176 浏览 0 评论 0原文

在此处输入图像描述

我不确定为什么会发生这种情况,我只是渲染一些简单的原始四边形。 红色应该位于黄色之前。

黄色总是在红色前面,即使它在红色后面。

这是一个错误还是只是我错误地看到了立方体?

enter image description here

I'm not sure why this is happening, I'm only rendering a few simple primitive QUADS.
The red is meant to be in front of the yellow.

The yellow always goes in-front of the red, even when it's behind it.

Is this a bug or simply me seeing the cube wrongly?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

七分※倦醒 2024-12-19 18:43:40

打开深度缓冲区和深度测试,否则 OpenGL 会将后者绘制在顶部。

您的应用程序至少需要执行以下操作才能使深度缓冲正常工作:

创建窗口时请求深度缓冲区。

在创建上下文并将其设置为当前上下文后,在程序的初始化例程中调用 glEnable (GL_DEPTH_TEST)。

确保您的 zNear 和 zFar 剪裁平面设置正确,并且设置方式能够提供足够的深度缓冲精度。

将 GL_DEPTH_BUFFER_BIT 作为参数传递给 glClear,通常与其他值(例如 GL_COLOR_BUFFER_BIT)进行按位或运算。

请参阅此处 http://www.opengl.org/resources/faq/technical/depthbuffer .htm

Turn the depth buffer and depth test on, or OpenGL would draw what is latter on the top.

Your application needs to do at least the following to get depth buffering to work:

Ask for a depth buffer when you create your window.

Place a call to glEnable (GL_DEPTH_TEST) in your program's initialization routine, after a context is created and made current.

Ensure that your zNear and zFar clipping planes are set correctly and in a way that provides adequate depth buffer precision.

Pass GL_DEPTH_BUFFER_BIT as a parameter to glClear, typically bitwise OR'd with other values such as GL_COLOR_BUFFER_BIT.

See here http://www.opengl.org/resources/faq/technical/depthbuffer.htm

把梦留给海 2024-12-19 18:43:40

我遇到了同样的问题,但它与深度缓冲区无关,尽管当我启用它时,我确实看到了一些更好的变化。它与使用的混合函数有关,该函数在渲染的最后一步组合像素强度。所以我不得不关闭 glBlendFunc()

I had the same problem but it was unrelated to the depth buffer, although I did see some change for the better when I enabled that. It had to do with the blend functions used which combined pixel intensities at the last step of rendering. So I had to turn off glBlendFunc()

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文