OpenGL ES 2 控制台帧缓冲光标

Posted

技术标签:

【中文标题】OpenGL ES 2 控制台帧缓冲光标【英文标题】:OpenGL ES 2 Console Framebuffer Cursor 【发布时间】:2015-08-20 17:30:54 【问题描述】:

我正在创建一个非常简单的 OpenGL ES 2.0 演示,它在 iMX6 内核上的 Yocto Linux 发行版上运行。我将图像直接写入控制台帧缓冲区,而不是使用 X11。我使用实现 EGL 的 Vivante GPU 驱动程序。

当我运行应用程序时,我看到光标在屏幕底部闪烁,如果我在程序执行期间键入,字母会出现在底部。作为计划的一部分,我该如何阻止这种情况发生?

【问题讨论】:

【参考方案1】:

好的,我找到了答案here。

答案建议这样做,这也删除了电源管理:

#include <linux/kd.h>

int cfd;

// Set console to graphics mode
if((cfd=open("/dev/tty0", O_RDWR))<0)
  fprintf(stderr, "Error - cannot open tty0\n");
  return -1;

else
  ioctl(cfd, KDSETMODE, KD_GRAPHICS);

我需要再添加两个包括,&lt;fnctl.h&gt;&lt;sys/ioctl.h&gt;

警告 - 如果您的程序没有退出方式,那么这将禁用您按 CTRL C 停止程序的能力。

【讨论】:

以上是关于OpenGL ES 2 控制台帧缓冲光标的主要内容,如果未能解决你的问题,请参考以下文章

清除/释放 OpenGL ES 缓冲区

如何在 iPhone OpenGL ES 2.0 中在渲染和呈现帧缓冲区之间切换?

缩放 OpenGL ES 帧缓冲区的内容

使用 Android 上的 OpenGL ES 2.0,在帧缓冲区上渲染时是不是可以保留多重采样?

Android OpenGL ES 2.0 重用前一帧

iOS OpenGL ES Analyzer 列出“不存在的帧缓冲区附件”和“缺少帧缓冲区附件”,但 FBO 工作