SDL 极简介绍

285 阅读1分钟

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;
}