textures - 从多个纹理创建新纹理 SDL-2

标签 textures render render-to-texture sdl-2

我有几个纹理将在屏幕上保持静止。我不想在渲染时单独渲染每个纹理,而是希望将它们全部渲染为一个纹理。到目前为止我的代码如下所示:

SDL_Texture* target_texture = NULL;
SDL_SetRenderTarget(renderer, target_texture);
SDL_RenderCopy(renderer, texture1, NULL, &dst1);
SDL_RenderCopy(renderer, texture2, NULL, &dst2);
SDL_RenderCopy(renderer, texture3, NULL, &dst3);
.
.
.
SDL_SetRenderTarget(renderer, NULL);
SDL_RendererPresent(renderer);
// Here the screen displays as I want
SDL_Delay(2000);
SDL_RenderClear(renderer);
SDL_RenderCopy(renderer, target_texture, NULL, NULL);
SDL_RendererPresent(renderer);
// Here the screen is black as though target_texture is still NULL

最佳答案

您必须创建您的 target_texture,目前它始终为 NULL。将第一行替换为:

target_texture = SDL_CreateTexture(renderer, SDL_PIXELFORMAT_RGBA8888, SDL_TEXTUREACCESS_TARGET, target_width, target_height);

关于textures - 从多个纹理创建新纹理 SDL-2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20730900/

相关文章:

opengl - 将整数纹理附加到帧缓冲区

javascript - 将清晰的文本渲染为 three.js 纹理

java - 有纹理的三角形,仅渲染一种颜色

ruby-on-rails - Rails 渲染头与状态

shader - SFML 渲染纹理 : flipped output

android - 我的顶点只显示一个三角形?

java - 编写自定义 HtmlResponseWriter JSF

javascript - react /通量 : strange error while rendering

android opengles 将图像显示为纹理

iphone - 将哪个参数传递给 glGet 以获取 OpenGLES iPhone 中的当前帧缓冲区