SDL 介绍
SDL 是一个跨平台的开发库,旨在提供对底层 audio, keyboard, mouse, joystick, graphics 的介入能力,屏蔽各个平台 (windows, *unix, Mac Os) 之间的差异。
核心API
1. SDL_Init
使用 SDL 之前,必须调用 SDL_Init
作用:根据传入的参数,可选的初始化 SDL 对底层 audio,keyboard,mouse,joystick,graphics 的介入能力
2. SDL_CreateWindow
作用:在 GPU 内存创建一个窗口,渲染的时候可以使用 GPU 加速
注:SDL1 是在内存开辟空间,渲染使用 CPU,效率很低。
3. SDL_CreateRender
作用:创建一个渲染器,将显存内容染到屏幕上
4. SDL_RenderPresent
作用:调用渲染器,进行渲染,输出到屏幕
简单示例
int WinMain() {
// 只初始化一个 Graphic 能力,因为我们只输出图像
SDL_Init(SDL_INIT_VIDEO)
// 创建一块 window 内存
SDL_Window *window; = SDL_CreateWindow("SDL Tutorial Basics", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 640, 480,
SDL_WINDOW_OPENGL);
// 创建渲染器
SDL_Renderer *renderer; = SDL_CreateRenderer(window, -1, SDL_RENDERER_PRESENTVSYNC);
// 渲染,因为我们啥也没干,输出一个透明(透明就是黑色)窗口
SDL_RenderPresent(renderer);
return 0;
}