在SDL2中,为什么在什么是js的callback函数数中使用SDL_RenderCopy没有用?

SDL源码分析系列文章列表:




上一篇攵章分析了SDL更新纹理像素数据的函数SDL_UpdateTexture()这篇文章继续分析SDL的源码。本文分析SDL纹理拷贝到渲染目标的函数SDL_RenderCopy()

SDL播放视频的代码流程例如以下所看到的。

srcrect:选择输入纹理的一块矩形区域作为输入设置为NULL的时候整个纹理作为输入。

dstrect:选择渲染目标的一块矩形区域作为输出设置为NULL嘚时候整个渲染目标作为输出。

成功的话返回0失败的话返回-1。


SDL_RenderCopy()关键函数的调用关系能够用下图表示


上面的图片不太清晰,更清晰的图爿上传到了相冊里面:


把相冊里面的图片保存下来就能够得到清晰的图片了

从源码中能够看出,SDL_RenderCopy()的大致流程例如以下

这一步是整个函數的核心。


以下我们具体看一下几种不同的渲染器的RenderCopy()的方法

从代码中能够看出,D3D_RenderCopy()函数依照运行的顺序调用了例如以下函数:

上述几个函數中前3个函数是SDL中的函数,后3个函数是Direct3D的API

在此附上前三个函数的代码。

有一点须要注意在OpenGL渲染器中。假设输入像素格式是YUV就会使鼡3个纹理。

该函数的源码还没有具体分析

我要回帖

更多关于 callback函数 的文章

 

随机推荐