设置要初始化的SDL子模块名称。可选项如下:
#define SDL_INIT_TIMER
#define SDL_INIT_AUDIO
#define SDL_INIT_VIDEO
#define SDL_INIT_JOYSTICK
#define SDL_INIT_HAPTIC
#define SDL_INIT_GAMECONTROLLER
#define SDL_INIT_EVENTS
#define SDL_INIT_SENSOR
#define SDL_INIT_NOPARACHUTE
#define SDL_INIT_EVERYTHING
SDL_CreateWindow(const char *title, int x, int y, int w, int h, Uint32 flags)
创建窗口。
title:创建的窗口名称
x:创建窗口在显示器上的位置。X轴坐标
y:创建窗口在显示器上的位置。Y轴坐标
w:创建窗口的大小。宽。
h:创建窗口的大小。高。
flag:参见SDL_WindowFlags枚举定义。
SDL_CreateRenderer(SDL_Window * window, int index, Uint32 flags)
创建渲染器
window:该渲染器关联的窗口指针。
index:使用哪种渲染器。参见render_drivers结构体定义。不同的平台支持不同的render_drivers。
flag:参见SDL_RendererFlags。该flag配置需要参考render_drivers支持的flag。
typedef enum
{
SDL_RENDERER_SOFTWARE = 0x00000001, /*The renderer is a software fallback */
SDL_RENDERER_ACCELERATED = 0x00000002, /*The renderer uses hardware acceleration */
SDL_RENDERER_PRESENTVSYNC = 0x00000004, /*Present is synchronized with the refresh rate */
SDL_RENDERER_TARGETTEXTURE = 0x00000008 /*The renderer supports rendering to texture */
} SDL_RendererFlags;
SDL_CreateTexture(SDL_Renderer * renderer, Uint32 format, int access, int w, int h)
创建纹理
renderer:该纹理关联的渲染器指针。
format:支持的视频格式。需要参考render_drivers支持的format。
access:参见SDL_TextureAccess。播放视频流,选择SDL_TEXTUREACCESS_STREAMING。
w:纹理数据宽
y:纹理数据长
SDL_UpdateYUVTexture(SDL_Texture * texture, const SDL_Rect * rect,
const Uint8 *Yplane, int Ypitch,
const Uint8 *Uplane, int Upitch,
const Uint8 *Vplane, int Vpitch)
设置纹理的像素数据
texture:目标纹理。
rect:更新像素的矩形区域。设置为NULL的时候更新整个区域。
Yplane:Y像素数据。以此类推UV
Ypitch:Y像素数据的字节数。以此类推UV
SDL_RenderCopy(SDL_Renderer * renderer, SDL_Texture * texture,
const SDL_Rect * srcrect, const SDL_Rect * dstrect)
将纹理数据复制给渲染目标
renderer:渲染目标。
texture:输入纹理。
srcrect:选择输入纹理的一块矩形区域作为输入。设置为NULL的时候整个纹理作为输入。
dstrect:选择渲染目标的一块矩形区域作为输出。设置为NULL的时候整个渲染目标作为输出。
SDL_RenderPresent(SDL_Renderer * renderer)
显示画面
renderer:指定要显示的渲染器
render_drivers | 平台 | 备注 |
D3D_RenderDriver | windows | |
D3D11_RenderDriver | windows | |
METAL_RenderDriver | IOS | |
GL_RenderDriver | ||
GLES2_RenderDriver | Android | |
GLES_RenderDriver | Android | |
DirectFB_RenderDriver | 待续 | |
PSP_RenderDriver | 待续 | |
SW_RenderDriver |
https://wiki.libsdl.org/