SDL2 透明度超级有问题[已关闭]

问题描述 投票:0回答:1

(源代码和问题行在底部)

我编写了一个简单的程序来将透明PNG加载到SDL2上。然而,它弹出的图像,有一个非常不稳定的背景,不断闪烁。

enter image description here

我怀疑这是我的显卡的问题,但我不知道如何解决这个问题。我认为这是因为在创建 SDL 渲染器时禁用硬件加速后问题就消失了。

// Issue goes away if I change the '0' in this line to SDL_RENDERER_SOFTWARE
SDL_Renderer * renderer = SDL_CreateRenderer(window, -1, 0);

我的完整源代码可以在https://pastebin.com/XqRxXmyt找到。我的编译命令也可以在 https://pastebin.com/a3YbGnLN 找到(我静态链接我的程序)。如何解决这个透明度问题?

c++ macos sdl sdl-image
1个回答
1
投票

找到解决方案。不知道为什么它解决了问题,但在绘制纹理之前简单地清除屏幕就可以解决所有问题:

while (is_running){
    // Game loop stuff

    SDL_RenderClear(renderer);
    // Draw stuff...
}
© www.soinside.com 2019 - 2024. All rights reserved.