Qt OpenGL:深度测试不起作用

泽德

我正在Qt / openGL上工作,但是在激活深度缓冲区时遇到了一些问题。

在每一帧,我都会激活以下状态:glEnable(GL_DEPTH_TEST); glDepthFunc(GL_LEQUAL);

另外,我检查了深度缓冲区的大小是否不为空(glGetIntegerv(GL_DEPTH_BITS)给了我24,这是期望值),但是深度测试无法正常工作,某些应通过深度测试丢弃的片段无法正常工作。

任何的想法?

泽德

好的,问题已解决!如果有人遇到相同的问题,这就是我使用的方法。

我安装了GDebugger,并检查了深度缓冲区的确未写入。我导出了openGL当前状态,这是相对于深度测试的状态:

GL_DEPTH_BIAS=0
GL_DEPTH_BITS=24
GL_DEPTH_CLEAR_VALUE=2147482496
GL_DEPTH_FUNC=GL_LESS
GL_DEPTH_RANGE={0, 1}
GL_DEPTH_SCALE=1
GL_DEPTH_TEST=TRUE
GL_DEPTH_WRITEMASK=FALSE

除了GL_DEPTH_WRITEMASK是错误的之外,其他一切看起来都还不错。我使用以下方法激活了它:

glDepthMask(GL_TRUE); 

一切正常!

编辑:实际上,必须在每帧进行状态激活才能正确渲染

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

qt [OpenGL]在Android上不起作用

来自分类Dev

qt setmodal不起作用

来自分类Dev

安装Qt不起作用

来自分类Dev

Qt。QStackedLayout不起作用

来自分类Dev

Qt update()不起作用

来自分类Dev

qt setmodal不起作用

来自分类Dev

Qt安装不起作用

来自分类Dev

QT中的INCLUDEPATH不起作用

来自分类Dev

resizeColumnToContents()不起作用Qt C ++

来自分类Dev

qt pixmap.save不起作用

来自分类Dev

fstream在Qt Creator中不起作用

来自分类Dev

inputMethodHints:Qt.ImhDigitsOnly不起作用

来自分类Dev

Qt QVariant toList不起作用

来自分类Dev

fstream在Qt Creator中不起作用

来自分类Dev

Qt事件或repaint()函数不起作用

来自分类Dev

fstream在Qt中不起作用

来自分类Dev

Qt QString lastIndexOf不起作用

来自分类Dev

Qt:多线程连接不起作用

来自分类Dev

MySQL查询在Qt中不起作用

来自分类Dev

QT <<过载不起作用QT5.3

来自分类Dev

setWindowFlag(Qt :: Dialog | Qt :: WindowStaysOnTopHint)在Centos上不起作用

来自分类Dev

setWindowFlag(Qt :: Dialog | Qt :: WindowStaysOnTopHint)在Centos上不起作用

来自分类Dev

OpenGL深度测试在某些计算机上不起作用

来自分类Dev

qt-QNetworkConfigurationManager :: configurationAdded信号不起作用

来自分类Dev

Qt-简单的QML应用程序不起作用

来自分类Dev

Qt应用程序图标不起作用

来自分类Dev

#include <QtWidgets>在Qt 4中不起作用

来自分类Dev

触摸屏在Qt Embedded上不起作用

来自分类Dev

Qt Creator CONFIG(调试,发布)开关不起作用