SDL_GL_SwapBuffers Segfault

时间:2010-03-08 16:12:38

标签: opengl sdl

我收到GDB所说的来自SDL_GL_SwapBuffers的段错误。但是,我无法想象为什么。 SDL文档没有提到调用swapBuffers的特定前提条件,除了允许双缓冲。这是我在初始化OpenGL时必须打开的选项还是硬件功能?

我的代码:

http://pastie.org/859721

(忽略未使用的变量,奇怪的评论和其他事情。我根本没有把它弄好。:P)

2 个答案:

答案 0 :(得分:3)

Documentation说:

  

<强>描述

     

交换OpenGL缓冲区,如果   支持双缓冲。

您正在使用SDL_GL_SwapBuffers()而未启用双缓冲。


SDL_Surface *screen = SDL_SetVideoMode(800, 600, 32, SDL_DOUBLEBUF | SDL_HWSURFACE);

答案 1 :(得分:0)

为什么要混合使用gl和SDL?似乎SDL应该为您提供一个OpenGL上下文并使其处于活动状态,然后您可以调用glSwapBuffers。