代码之家  ›  专栏  ›  技术社区  ›  chugadie

访问SDL纹理像素

  •  0
  • chugadie  · 技术社区  · 1 年前

    除了记录的慢速方法之外,是否还有其他方法可以访问SDL2纹理中的纹理像素? SDL_RenderReadPixels 警告:这是一个非常缓慢的方法,不应该经常使用。

    我想指向一个ffmpeg AVFrame->数据转移到纹理像素,并让它对纹理中的内容进行编码。基本上,在渲染并将几个纹理混合在一起之后,屏幕抓取一个纹理。

    SDL_LockTexture()提供对像素的仅写访问。文档还表示,不要期望像素数据出现在返回给您的指针中。

    有可能吗 av_hwframe_map 在ffmpeg中?

    我看到了很多将视频解码为纹理的例子,但我想在不将GPU数据复制回CPU内存的情况下对SDL2纹理进行屏幕抓取和编码。

    如果在SDL2中无法做到这一点,我愿意切换到SDL3、raylib、opengl或其他任何东西。经过几天的研究,我感觉OpenGL和/或Metal是我应该关注的互操作框架。我是否朝着完全错误的方向看,试图让SDL2/3允许我与纹理像素数据进行互操作?

    0 回复  |  直到 1 年前