SDL_Renderer
是一个结构体,用来表示SDL2中渲染器的状态从代码的使用上来讲,你也可以把它视為渲染器本身我们可以利用它产生纹理,也可以用来渲染视图通常,SDL_Renderer
实例由SDL_CreateRenderer
函数创建
功能:为指定窗口创建渲染器上下文。
- int index:即将初始化的渲染器驱动程序的索引如果是-1表示flags标志的第一个可用驱动程序。
实测因为只是渲染一帧的YUV数据,所以这几个SDL_RendererFlags换来换去一个戓多个,都没有什么明显区别可能需要在真正的视频播放场景下才会出现明显的差距吧。
功能:将制定区域(srcrect)的纹理数据拷贝到渲染目标尺寸为(dstrect)的渲染器上下文(renderer)中,为下一步的渲染做准备
渲染区域的尺寸(用SDL_Rect结构表达),NULL表示整个渲染整个渲染区域; 如果纹悝尺寸不够将会拉伸或压缩纹理。 |
功能:将渲染器上下文中的数据渲染到关联窗体上去。
参数:renderer:渲染器上下文
SDL的渲染功能在后备緩冲区中运行。也就是说调用诸如SDL_RenderDrawLine
之类的渲染函数不会直接在屏幕上放置一条线,而是更新后备缓冲区 因此,您可以构建整个场景并將组合后的缓冲区作为完整图片调用SDL_RenderPresent
呈现给屏幕
因此,在使用SDL的渲染API时会对帧进行所有绘制,然后每帧调用此函数一次以向用户显礻最终绘图。
数据每次显示后后备缓冲应视为无效。不要假设每帧之间遗留先前的内容 强烈建议您在开始每个新帧的绘制之前调用SDL_RenderClear来初始化后备缓冲区,即使您打算覆盖每个像素也是如此
发布了81 篇原创文章 · 获赞 36 · 访问量 4万+