SDL_Image is fantastic for loading images from files, and generating textures from the SDL Surfaces is faily stright forward. It supports loading the alpha channel on png and tga files (and probably others too), and it takes away the need to check the image type when loading.