Enabling Alpha channels in SDL?

Started by
4 comments, last by samuraicrow 17 years, 10 months ago
I have a sprite I made in Photoshop, with transparency, and a alpha channel. The background is transparent when I load it into Flash, but when I try to blit it into my game, their is a white background. I believe it's my code. Is their a function or something that allows the alpha channel to be used in my SDL game? I've been having a tough time with this, and can't figure this out! BTW, I'm using a TGA saved as 32 bit, and my SDL game has BPP set at 32 as well. Here is a link to my other thread concerning the Photoshop aspect, there is code at the bottom of my load.cpp: http://www.gamedev.net/community/forums/topic.asp?topic_id=397525
Advertisement
You can have an alpha channel with SDL_SetAlpha and SDL_DisplayFormatAlpha.
You may have to use OpenGL from inside of SDL to get the alpha-blending to be fast enough. There is a partially documented library called hxRender that should help with setting up OpenGL for 2D graphics.
That's not what I want. I already have an alpha channel that is saved in my TGA from Photoshop. It's just that their is a white background. The background was transparent when I put it in Flash to test it; so I figured it was my code that gave me the background. So do I have to enable something to ALLOW the alpha channels to be used from my TGA that I made in PHOTOSHOP?
Quote:Original post by Sentralia
That's not what I want. I already have an alpha channel that is saved in my TGA from Photoshop. It's just that their is a white background. The background was transparent when I put it in Flash to test it; so I figured it was my code that gave me the background. So do I have to enable something to ALLOW the alpha channels to be used from my TGA that I made in PHOTOSHOP?


Correct, this is what these functions do iirc, I wasn't clear. It *should* work.
EDIT: sorry I think it's only needed to use the SDL_DisplayFormatAlpha function instead of SDL_DisplayFormat.
If you need to load Targa files into your program then maybe you should look into SDL_Image library.

Your post is not very specific about what part about enabling alpha-channel you are referring to. Also, having read the other thread you listed in your post, I think that you don't need the hxRender library in your project since SDL's alpha-blending functions are fast enough for a breakout clone.

This topic is closed to new replies.

Advertisement