Ошибка сегментации glGenTextures?

Так вот в чем проблема:
Когда я звоню glGenTextures Я получаю ошибку сегментации.

Я нахожусь на Linux, и вот код, который я в настоящее время использую, чтобы исследовать это:

#include <iostream>
#include <SDL/SDL.h>
#include <GL/gl.h>
#include <GL/glu.h>

int main(int argc, char *argv[])
{
GLuint texture;
glGenTextures( 1, &texture );
return texture;
}

Кажется достаточно простым, верно?
Ну, я проследил segfault с помощью GDB (инструмент отладки GNU), и это происходит, когда я вызываю glGenTextures (), в файле /usr/lib/mesa/libGL.so.1.

Это код openGL моего видео драйвера …

Есть идеи?

5

Решение

Код, как показано, ничего не сделал для установки правильного Контекст OpenGL, поэтому он не может использовать OpenGL.

Как это сделать, зависит от платформы. Если вы не хотите копаться в способах вашей целевой платформы, вы можете использовать что-то вроде GLFW сделать это довольно переносимо, но, конечно, это добавляет зависимость.

10

Другие решения

Как сказал пользователь «unwind», вам нужно инициировать свой контекст OpenGL. Вы можете сделать это без 3Dparty libs — проверьте этот пример NeHe: http://nehe.gamedev.net/tutorial/texture_mapping/12038/

Надеюсь это поможет.

1

По вопросам рекламы [email protected]