除了记录的慢速方法之外,是否还有其他方法可以访问SDL2纹理中的纹理像素?
SDL_RenderReadPixels
警告:这是一个非常缓慢的方法,不应该经常使用。
我想指向一个ffmpeg AVFrame->数据转移到纹理像素,并让它对纹理中的内容进行编码。基本上,在渲染并将几个纹理混合在一起之后,屏幕抓取一个纹理。
SDL_LockTexture()提供对像素的仅写访问。文档还表示,不要期望像素数据出现在返回给您的指针中。
有可能吗
av_hwframe_map
在ffmpeg中?
我看到了很多将视频解码为纹理的例子,但我想在不将GPU数据复制回CPU内存的情况下对SDL2纹理进行屏幕抓取和编码。
如果在SDL2中无法做到这一点,我愿意切换到SDL3、raylib、opengl或其他任何东西。经过几天的研究,我感觉OpenGL和/或Metal是我应该关注的互操作框架。我是否朝着完全错误的方向看,试图让SDL2/3允许我与纹理像素数据进行互操作?