我对 opengl 有一些基本经验,并且想过要一个动画壁纸,同时还要考虑我的机器的一些属性(例如音量、CPU 使用率等)。现在我明白,为了做到这一点,我必须创建一个基本的 opengl 程序(我已经有一个黑屏的简单测试),然后以某种方式将其连接到我的壁纸。有人知道怎么做吗?将它用作屏幕保护程序怎么样?
这是我的基本示例 opengl,现在它只是一个黑屏,但我将在接下来的几天内向其中添加文本和其他内容。
#include <GL/glew.h>
#include <GL/glut.h>
int WIDTH=1080;
int HEIGHT=800;
void CreateDisplay(int argc, char** argv){
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(WIDTH, HEIGHT);
glutInitWindowPosition(glutGet(GLUT_SCREEN_WIDTH) / 2 - WIDTH / 2, glutGet(GLUT_SCREEN_HEIGHT) / 2 - HEIGHT / 2);
glutCreateWindow("background");
}
int main(int argc, char** argv) {
CreateDisplay(argc, argv);
glutMainLoop();
}
我已经看到活动网站作为 Gnome 背景可以将文件输出到磁盘,然后使用简单的循环不断更新该文件,但我担心每秒执行几次(30 次)会损害我的 SSD 和一般系统性能(而不是在我的 gpu 上运行的简单程序直接输出到桌面)。我还看到动态壁纸然而它只支持到 ubuntu 16.04。
对于我的最终产品,我希望能够从服务器和本地计算机提取数据,以便在桌面上提供一种“系统概览”。
这是在 ubuntu 17.10 中。