我收到GDB所说的来自SDL_GL_SwapBuffers的段错误。但是,我无法想象为什么。 SDL文档没有提到调用swapBuffers的特定前提条件,除了允许双缓冲。这是我在初始化OpenGL时必须打开的选项还是硬件功能?
我的代码:
(忽略未使用的变量,奇怪的评论和其他事情。我根本没有把它弄好。:P)
答案 0 :(得分:3)
<强>描述强>
交换OpenGL缓冲区,如果 支持双缓冲。
您正在使用SDL_GL_SwapBuffers()
而未启用双缓冲。
SDL_Surface *screen = SDL_SetVideoMode(800, 600, 32, SDL_DOUBLEBUF | SDL_HWSURFACE);
答案 1 :(得分:0)
为什么要混合使用gl和SDL?似乎SDL应该为您提供一个OpenGL上下文并使其处于活动状态,然后您可以调用glSwapBuffers。