- 注册时间
- 2004-11-1
- 最后登录
- 2018-4-24
版主
  
- 积分
- 548
|
在SDL中创建能使用OpengGl的Surface,首先要使用SDL_GL_SetAttribute设置好SDL_GLattr- SDL_Init(SDL_INIT_VIDEO);
- SDL_GL_SetAttribute(SDL_GL_RED_SIZE, 8);
- SDL_GL_SetAttribute(SDL_GL_GREEN_SIZE, 8);
- SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE, 8);
- SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 16);
- SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);
- SDL_SetVideoMode(640, 480, 32, SDL_OPENGL);
复制代码 创建出来的是一个640*480大小,32位色,16位深度缓存,双缓存的Surface。
这里的SDL_SetVideoMode不能用SDL_DOUBLEBUF来设双缓存,得用SDL_GL_DOUBLEBUFFER才行。
接着调用opengl的函数,随便在屏幕中间画一个三角形- glBegin(GL_TRIANGLES);
- glColor4f(1, 0, 0, 1); glVertex3f(0, 0.5, 0);
- glColor4f(0, 1, 0, 1); glVertex3f(-0.5, -0.5, 0);
- glColor4f(0, 0, 1, 1); glVertex3f(0.5, 0.5, 0);
- glEnd();
复制代码 把这个三角形显示程序流程大体上就是这样,感觉还是挺容易用的。 |
|