2017-12-27 6 views
0

Ist es möglich, Texturen, die an einen SDL_Renderer gebunden sind, einem anderen SDL_Renderer zu rendern? Zum Beispiel:Kann ich SDL_Textures von einem SDL_Renderer auf einen anderen übertragen?

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); 

Warum möchte ich das tun? Weil ich eine TextureManager mit meinem Haupt SDL_Renderer (erstellt aus dem Fenster) verknüpft habe, aber ich möchte intern in einer Funktion eine andere SDL_Renderer (von SDL_CreateSoftwareRenderer(SDL_Surface*)) verwenden, um eine Textur anstelle der Zeichnung direkt auf dem Hauptrenderer zurückzugeben.

Also, ist es möglich? Danke fürs Lesen!

+0

Ich würde nein sagen, und aus guten Gründen. Sie können jedoch 'SDL_Surface' verwenden und auf Ziel-Renderer in Textur konvertieren. – keltar

Antwort

0

Es scheint es in der Tat unmöglich, aber für meinen Fall finde ich endlich die Funktion SDL_SetRenderTarget, die direkt auf einer Textur zu meinem Haupt-Renderer verbunden zu machen erlaubt, so brauche ich nicht SDL_CreateSoftwareRenderer zu verwenden, noch SDL_Surface.

Verwandte Themen