1
我想确保我使用OpenGL进行2D渲染,但使用SDL进行事件。从我听说的SDL使用软件渲染,和OpenGL硬件加速。我正在阅读关于SDL的一本书,但它尚未提及使用OpenGL来渲染事件并使用SDL。如何使用OpenGL进行渲染但仍然使用SDL进行事件?
我想确保我使用OpenGL进行2D渲染,但使用SDL进行事件。从我听说的SDL使用软件渲染,和OpenGL硬件加速。我正在阅读关于SDL的一本书,但它尚未提及使用OpenGL来渲染事件并使用SDL。如何使用OpenGL进行渲染但仍然使用SDL进行事件?
您可以通过读取开始:http://www.gpwiki.org/index.php/SDL:Tutorials:Using_SDL_with_OpenGL
您将使用SDL创建一个OpenGL环境中,你会尽你所有的基于OpenGL渲染。
按照事件您是指用户输入?如果是这样,那么只需在每一帧/循环化妆使用SDL的结束检查输入,像这样:
int main()
{
...
while(running)
{
...
update();
draw();
...
handleKeys();
}
return 0;
}
void handleKeys()
{
SDL_Event event;
while(SDL_PollEvent(&event))
{
switch(event.type)
{
case SDL_KEYDOWN:
//Check for event and act accordingly
break;
case SDL_KEYUP:
//Check for event and act accordingly
break;
case SDL_MOUSEBUTTONDOWN:
//Check for event and act accordingly
break;
default:
break;
}
}
}
显然有更优雅和获取输入的有效手段,但只是想表明一个简单例。
我在我的网站上有一个教程可以帮助你:http://www.sdltutorials.com/sdl-opengl-tutorial-basics/ – MetaCipher