【发布时间】:2014-10-29 23:02:35
【问题描述】:
所以我一直在尝试理解 SDL 接口并将我的 OpenGL 和 freeglut 测试程序附加到它 - 从 glut 引用中清除它。当我尝试附加着色器时,最有问题的部分变成了 - 一切都在编译,但我不断收到分段错误错误。程序的清理版本是:
#include <SDL2/SDL.h>
#include <GL/glew.h>
#include <GL/glu.h>
#include <iostream>
using namespace std;
int main(){
SDL_Window *window;
SDL_GLContext *context;
GLuint vao;
SDL_Init( SDL_INIT_VIDEO );
SDL_CreateWindow("cookie", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED,
512, 512, SDL_WINDOW_OPENGL | SDL_WINDOW_SHOWN);
SDL_GL_CreateContext(window);
SDL_GL_SetSwapInterval(1);
cout<<"Hi! It's my first instance"<<endl;
glGenVertexArrays(1, &vao);
glBindVertexArray(vao);
cout<<"And it's my second - i can't reach here"<<endl;
}
我正在开发 Ubuntu 14.04,Radeon 8somethingsomething 卡(如果它真的很重要的话)。我用来编译的命令是:
g++ main.cpp -lGL -lGLEW -lSDL2
PS。对不起,我是iostream新手,我是从c++开始编程的。
【问题讨论】:
-
顺便说一句,“Radeon 8somethingsomething”卡将不支持 OpenGL 3.0(这就是
glGenVertexArrays的来源)。 9xxx 系列在技术上并不支持 GL 2.0 所需的一切。