【发布时间】:2015-05-19 10:04:24
【问题描述】:
我正在尝试在 Qt 中进行立体可视化。我找到了一些教程,但它们都使用较旧的 QGLWidget 和缓冲区 GL_FRONT_LEFT 和 GL_FRONT_RIGHT。
由于我使用的是较新的 QOpenGLWidget,我尝试将图像绘制到相同的缓冲区,但对 glDrawBuffer(GL_FRONT_LEFT) 的调用正在生成 GL_INVALID_ENUM。
我还看到默认缓冲区是 GL_COLOR_ATTACHMENT0 而不是 GL_FRONT_LEFT 所以我想我需要使用一组不同的缓冲区来启用立体声。
我应该使用哪些缓冲区?
【问题讨论】:
-
根据 OpanGL-Reference,我相信缓冲区将是
GL_FRONT_LEFT和GL_FRONT_RIGHT。 -
您好,当我调用:glDrawBuffer(GL_FRONT_RIGHT) 时,它会生成错误 GL_INVALID_ENUM。 glDrawBuffer(GL_FRONT_LEFT); 也是一样的。
-
那是因为
QOpenGLWidget在内部使用了 FBO(无论出于何种原因)。我不知道他们是否为立体渲染实现了任何东西。