使用SDL_2从混合纹理创建纹理时的透明度问题?

时间:2014-04-11 10:04:58

标签: transparency sdl-2

我正在尝试从多个纹理创建纹理,但似乎我在设置透明度时遇到了问题:

SDL_Texture *backgr = SDL_CreateTexture(render, 
                        SDL_PIXELFORMAT_RGBA8888, 
                        SDL_TEXTUREACCESS_TARGET, 
                        width, 
                        height);`<br/>

//After this line, the texture is rendered black
SDL_SetAlphaMod(backgr, 0); 

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

根据SDL2的迁移指南,您不应将SDL_SetAlphaMod与SDL2一起使用,而应将SDL_SetTextureAlphaMod(或SDL_SetSurfaceAlphaMod用于曲面)。如果您需要有关如何使用它的示例,请查看tutorial by Lazy Foo

答案 1 :(得分:1)

您还需要设置混合模式以启用Alpha混合。

SDL_SetTextureBlendMode( backgr , SDL_BLENDMODE_BLEND );