【问题标题】:Creating a new texture from several textures SDL-2从多个纹理创建新纹理 SDL-2
【发布时间】:2013-12-22 15:24:03
【问题描述】:

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

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

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-17
      • 2019-06-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多