gpt4 book ai didi

c++ - 在 linux 上使用 freeglut 的 Opengl 只显示一个透明窗口

转载 作者:行者123 更新时间:2023-12-03 07:23:12 24 4
gpt4 key购买 nike

我正在尝试在 linux mint 20 上使用 freeglut3 来做一些基本的 openGL(我的老师强制我在 c++ 中使用 glut/freeglut)。我只是想在屏幕上显示一个黑色窗口,但只显示一个透明窗口,并且在显示段错误(核心转储)之前它不会关闭
这是我的代码

#include <GL/gl.h>
#include <GL/glu.h>
#include <GL/glut.h>

void init()
{
glClearColor(1, 0, 0, 1);
}
void display()
{
glClear(GL_COLOR_BUFFER_BIT);
glLoadIdentity();
glFlush();
glutSwapBuffers();
}

int main(int argc, char **argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE);
glutInitWindowPosition(300, 100);
glutInitWindowSize(400, 400);
glutCreateWindow("Linux TEST");
glutDisplayFunc(display);
init();
glutMainLoop();
}
我正在使用 g++ main.cpp -lGL -lGLU -lglut编译代码
这是输出 screenshot

最佳答案

您正在使用...创建双缓冲上下文

glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE);
但是你从不调用 glutSwapBuffers .更改您的 display作用于...
void display()
{
glClear(GL_COLOR_BUFFER_BIT);
glLoadIdentity();
glFlush();
glutSwapBuffers();
}

关于c++ - 在 linux 上使用 freeglut 的 Opengl 只显示一个透明窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64441292/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com