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 控制台帧缓冲光标的主要内容,如果未能解决你的问题,请参考以下文章