Ben*_*din 3 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
Run Code Online (Sandbox Code Playgroud)
你必须创建你的target_texture,目前它总是为NULL.替换您的第一行:
target_texture = SDL_CreateTexture(renderer, SDL_PIXELFORMAT_RGBA8888, SDL_TEXTUREACCESS_TARGET, target_width, target_height);
Run Code Online (Sandbox Code Playgroud)