gpt4 book ai didi

linux - OpenGL Linux 不读取 GL_VERSION

转载 作者:太空狗 更新时间:2023-10-29 12:35:40 37 4
gpt4 key购买 nike

我有一个在 Linux 上使用 SDL 的简单 OpenGL 程序,它只是尝试加载和打印 OpenGL 版本。

cout << "GL_VERSION  : " << glGetString(GL_VERSION) << endl;

当我运行程序时它只是挂起,输出如下...它基本上看起来是在“等待”OpenGL 库响应:

GL_VERSION  : 

它链接到 Nvidia Ubuntu OpenGL 库 (nvidia-current-dev pkg)。我确实也在系统上安装了 Mesa,但正如您从“lsof”中看到的那样,它似乎正在使用 Nvidia。

sdl-hack 29491 x  mem    REG               8,18 34639056 4212198 /usr/lib/nvidia-current/libnvidia-glcore.so.295.40
sdl-hack 29491 x mem REG 8,18 11728 4212207 /usr/lib/nvidia-current/tls/libnvidia-tls.so.295.40
sdl-hack 29491 x mem REG 8,18 1054832 4212209 /usr/lib/nvidia-current/libGL.so.295.40

请注意,我确实必须安装“libglu1-mesa-dev”来提供 glu.h,因为这不是 Nvidia 开发包的一部分。

不太确定如何调试这个,有人可以指出正确的方向吗?

最佳答案

不要将 SDL_OPENGLSDL_SetVideoMode() 调用中的其他标志混合使用。嗯,您可以使用 SDL_FULLSCREEN,但您不需要 SDL_HWSURFACE

特别是,SDL_GL_DOUBLEBUFFER 不是这样使用的。 Intead 做:

SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);
SDL_SetVideoMode(640, 480, 32, SDL_OPENGL);

关于linux - OpenGL Linux 不读取 GL_VERSION,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12360301/

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