2016-11-30 37 views
1

在我的代码中,我想将多个SDL_Texture或数组连接(或合并)为一个SDL_Texture,其中包含各自放在另一个下的图像。如何在SDL2中连接多个纹理?

它可能看起来就像这样

SDL_Texture* t1 = SDL_CreateTextureFromSurface(my_renderer, someSurface); 
SDL_Texture* t2 = SDL_CreateTextureFromSurface(my_renderer, someOtherSurface); 
//Some SDL code manipulations to make one SDL_Texture wich contains t1 and t2 

有什么建议?

+0

C或C++?不能兼得。 –

回答

1

您需要创建target_texture或者是这样的:

SDL_Texture* target_tex =SDL_CreateTexture(.....); //Add arg according to you 
SDL_SetRenderTarget(my_renderer, target_tex); 

SDL_Texture* t1 = SDL_CreateTextureFromSurface(my_renderer, someSurface); 
SDL_Texture* t2 = SDL_CreateTextureFromSurface(my_renderer, someOtherSurface); 
. 
. 
. 
. 
SDL_RenderCopy(my_renderer, t1, NULL, NULL); 
SDL_RenderCopy(my_renderer, t2, NULL, NULL); 
SDL_RenderCopy(my_renderer, t3, NULL, NULL); 
. 
. 
. 
SDL_SetRenderTarget(my_renderer, NULL); 
SDL_RendererPresent(my_renderer); 


SDL_RenderClear(my_renderer); 
SDL_RenderCopy(my_renderer, target_tex, NULL, NULL); 
SDL_RendererPresent(my_renderer); 
+0

谢谢。它有帮助。 – errno