是否可以将绑定到一个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*)),以便返回纹理,而不是直接在主渲染器上绘制。
那么,这是可能的吗?感谢您的阅读!
发布于 2017-12-27 23:57:28
这似乎确实是不可能的,但对于我的例子,我最终找到了函数SDL_SetRenderTarget,它允许直接在链接到我的主渲染器的纹理上渲染,所以我不需要使用SDL_CreateSoftwareRenderer,也不需要使用SDL_Surface。
https://stackoverflow.com/questions/47992128
复制相似问题