Так вот в чем проблема:
Когда я звоню 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 моего видео драйвера …
Есть идеи?
Код, как показано, ничего не сделал для установки правильного Контекст OpenGL, поэтому он не может использовать OpenGL.
Как это сделать, зависит от платформы. Если вы не хотите копаться в способах вашей целевой платформы, вы можете использовать что-то вроде GLFW сделать это довольно переносимо, но, конечно, это добавляет зависимость.
Как сказал пользователь «unwind», вам нужно инициировать свой контекст OpenGL. Вы можете сделать это без 3Dparty libs — проверьте этот пример NeHe: http://nehe.gamedev.net/tutorial/texture_mapping/12038/
Надеюсь это поможет.