Correct me if I'm wrong, but it appears you are using SDL_Surface instead of SDL_Textures?
https://wiki.libsdl.org/MigrationGuide#If_your_game_just_wants_to_get_fully-rendered_frames_to_the_screen > One problem is blend modes - many of the pygame blend modes, including the default alphablend mode, aren't in SDL2. Different than the alpha blend mode in SDL_SetSurfaceBlendMode <https://wiki.libsdl.org/SDL_SetSurfaceBlendMode>, SDL_SetTextureBlendMode <https://wiki.libsdl.org/SDL_SetTextureBlendMode>, and SDL_SetRenderDrawBlendMode <https://wiki.libsdl.org/SDL_SetRenderDrawBlendMode> ? -- Jake