【问题标题】:OpenGL & Ubuntu 14.04 No rendering after Lock ScreenOpenGL & Ubuntu 14.04 锁屏后无渲染
【发布时间】:2016-04-05 01:55:06
【问题描述】:

我在 Ubuntu 14.04 上的 OpenGL 版本 4.5.0。使用 VBO 和着色器。锁定屏幕后 OpenGL 无法正确渲染(带有几条颜色线的黑色,看起来 glClear(GL_DEPTH_BUFFER_BIT | GL_COLOR_BUFFER_BIT) 不起作用)。我尝试了离线渲染(FBO 将帧保存到图片)和在线渲染(在窗口上绘制框架)。

任何建议都将不胜感激。

【问题讨论】:

  • 这和编程有什么关系?
  • @AaronGillion,您好 Aaron,感谢您的回复。我必须将我的 3D 模型作为服务器上的服务离线渲染,将帧图像输出到流媒体上。因此,服务器屏幕应该被锁定,并且我的应用程序应该可以在屏幕锁定的情况下正常工作。
  • 也许你丢失了上下文(错误:GL_CONTEXT_LOST)?锁屏后你的 OpenGL 错误是什么?并在 gDEBugger 中运行该程序,这将为您提供有关正在发生的事情的更多信息。另外,您是什么意思“应该可以正常工作”?找到一个说“应该没问题”的参考资料,或者放弃解决方案。

标签: c++ ubuntu opengl lockscreen


【解决方案1】:

渲染到 FBO 而不是窗口-。对于未通过像素所有权测试的像素(即窗口被遮挡,例如被屏幕储物柜覆盖),未定义窗口的内容。

根据 OpenGL 实现和环境,您可能仍需要一个窗口来创建上下文。但最近,无需运行显示服务器即可创建有效的 OpenGL 上下文。

对于 NVidia,请参阅 https://devblogs.nvidia.com/parallelforall/egl-eye-opengl-visualization-without-x-server/

【讨论】:

  • 感谢您的重播。当我渲染到 FBO 时问题仍然存在(OpenGL 上下文是使用窗口创建的,窗口立即隐藏)。我将尝试按照您的建议创建没有窗口的 OpenGL 上下文。如果它有效,我会通知你。
猜你喜欢
  • 1970-01-01
  • 2018-06-11
  • 2011-04-20
  • 1970-01-01
  • 2010-09-17
  • 1970-01-01
  • 1970-01-01
  • 2022-01-16
相关资源
最近更新 更多