【问题标题】:What buffers to use for stereo in Qt using QOpenGLWidget?使用 QOpenGLWidget 在 Qt 中用于立体声的缓冲区是什么?
【发布时间】:2015-05-19 10:04:24
【问题描述】:

我正在尝试在 Qt 中进行立体可视化。我找到了一些教程,但它们都使用较旧的 QGLWidget 和缓冲区 GL_FRONT_LEFTGL_FRONT_RIGHT

由于我使用的是较新的 QOpenGLWidget,我尝试将图像绘制到相同的缓冲区,但对 glDrawBuffer(GL_FRONT_LEFT) 的调用正在生成 GL_INVALID_ENUM

我还看到默认缓冲区是 GL_COLOR_ATTACHMENT0 而不是 GL_FRONT_LEFT 所以我想我需要使用一组不同的缓冲区来启用立体声。

我应该使用哪些缓冲区?

【问题讨论】:

  • 根据 OpanGL-Reference,我相信缓冲区将是 GL_FRONT_LEFTGL_FRONT_RIGHT
  • 您好,当我调用:glDrawBuffer(GL_FRONT_RIGHT) 时,它会生成错误 GL_INVALID_ENUM。 glDrawBuffer(GL_FRONT_LEFT); 也是一样的。
  • 那是因为QOpenGLWidget 在内部使用了 FBO(无论出于何种原因)。我不知道他们是否为立体渲染实现了任何东西。

标签: c++ qt opengl stereo-3d


【解决方案1】:

你应该使用

glDrawBuffer(GL_BACK_RIGHT); glDrawBuffer(GL_BACK_LEFT);

看看这个link

我正在使用 Nvidia Quadro 4000 做同样的事情。还没有运气,我得到了 2 张图像略有偏移,红外发射器亮了,但屏幕闪烁!

知道了:同步是 60hz,我把它调到 120,一切正常 我仍然需要在右/左截锥体上进行工作才能说尤里卡。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-19
    • 1970-01-01
    • 2010-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多