【问题标题】:Can I transfer SDL_Textures from one SDL_Renderer to another?我可以将 SDL_Textures 从一个 SDL_Renderer 转移到另一个吗?
【发布时间】:2017-12-27 12:22:18
【问题描述】:

是否可以将绑定到 SDL_Renderer 的纹理渲染到另一个 SDL_Renderer ?例如:

SDL_Renderer* render1, render2;
//initialization of renderers
SDL_Texture* texture = /* ... */; //created from render1
SDL_RenderCopy(render1, texture, NULL, NULL);
//ChangeRenderer(texture, render2) or something like that
SDL_RenderCopy(render2, teture, NULL, NULL);

我为什么要这样做?因为我有一个TextureManager 链接到我的主SDL_Renderer(从窗口创建),但我想在函数内部使用另一个SDL_Renderer(来自SDL_CreateSoftwareRenderer(SDL_Surface*))以便返回纹理而不是直接绘制在主渲染器上。

那么,有可能吗?感谢您的阅读!

【问题讨论】:

  • 我会说不,而且有充分的理由。您可以使用SDL_Surface,并在目标渲染器上转换为纹理。

标签: c++ textures sdl-2


【解决方案1】:

似乎确实不可能,但就我而言,我终于找到了函数SDL_SetRenderTarget,它允许直接在链接到我的主渲染器的纹理上进行渲染,所以我不需要使用SDL_CreateSoftwareRenderer,也不需要使用@987654323 @。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多