We don't want to save the alpha modulation, we want to save the blend mode.
This commit is contained in:
parent
a61d6e4500
commit
1b4d1f20c1
1 changed files with 4 additions and 5 deletions
|
@ -281,8 +281,7 @@ SDL_GL_LoadTexture(SDL_Surface * surface, GLfloat * texcoord)
|
|||
int w, h;
|
||||
SDL_Surface *image;
|
||||
SDL_Rect area;
|
||||
Uint32 saved_flags;
|
||||
Uint8 saved_alpha;
|
||||
SDL_BlendMode saved_mode;
|
||||
|
||||
/* Use the surface width and height expanded to powers of 2 */
|
||||
w = power_of_two(surface->w);
|
||||
|
@ -306,8 +305,8 @@ SDL_GL_LoadTexture(SDL_Surface * surface, GLfloat * texcoord)
|
|||
}
|
||||
|
||||
/* Save the alpha blending attributes */
|
||||
SDL_GetSurfaceAlphaMod(surface, &saved_alpha);
|
||||
SDL_SetSurfaceAlphaMod(surface, SDL_ALPHA_OPAQUE);
|
||||
SDL_GetSurfaceBlendMode(surface, &saved_mode);
|
||||
SDL_SetSurfaceBlendMode(surface, SDL_BLENDMODE_NONE);
|
||||
|
||||
/* Copy the surface into the GL texture image */
|
||||
area.x = 0;
|
||||
|
@ -317,7 +316,7 @@ SDL_GL_LoadTexture(SDL_Surface * surface, GLfloat * texcoord)
|
|||
SDL_BlitSurface(surface, &area, image, &area);
|
||||
|
||||
/* Restore the alpha blending attributes */
|
||||
SDL_SetSurfaceAlphaMod(surface, saved_alpha);
|
||||
SDL_SetSurfaceBlendMode(surface, saved_mode);
|
||||
|
||||
/* Create an OpenGL texture for the image */
|
||||
glGenTextures(1, &texture);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue