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;
|
int w, h;
|
||||||
SDL_Surface *image;
|
SDL_Surface *image;
|
||||||
SDL_Rect area;
|
SDL_Rect area;
|
||||||
Uint32 saved_flags;
|
SDL_BlendMode saved_mode;
|
||||||
Uint8 saved_alpha;
|
|
||||||
|
|
||||||
/* Use the surface width and height expanded to powers of 2 */
|
/* Use the surface width and height expanded to powers of 2 */
|
||||||
w = power_of_two(surface->w);
|
w = power_of_two(surface->w);
|
||||||
|
@ -306,8 +305,8 @@ SDL_GL_LoadTexture(SDL_Surface * surface, GLfloat * texcoord)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Save the alpha blending attributes */
|
/* Save the alpha blending attributes */
|
||||||
SDL_GetSurfaceAlphaMod(surface, &saved_alpha);
|
SDL_GetSurfaceBlendMode(surface, &saved_mode);
|
||||||
SDL_SetSurfaceAlphaMod(surface, SDL_ALPHA_OPAQUE);
|
SDL_SetSurfaceBlendMode(surface, SDL_BLENDMODE_NONE);
|
||||||
|
|
||||||
/* Copy the surface into the GL texture image */
|
/* Copy the surface into the GL texture image */
|
||||||
area.x = 0;
|
area.x = 0;
|
||||||
|
@ -317,7 +316,7 @@ SDL_GL_LoadTexture(SDL_Surface * surface, GLfloat * texcoord)
|
||||||
SDL_BlitSurface(surface, &area, image, &area);
|
SDL_BlitSurface(surface, &area, image, &area);
|
||||||
|
|
||||||
/* Restore the alpha blending attributes */
|
/* Restore the alpha blending attributes */
|
||||||
SDL_SetSurfaceAlphaMod(surface, saved_alpha);
|
SDL_SetSurfaceBlendMode(surface, saved_mode);
|
||||||
|
|
||||||
/* Create an OpenGL texture for the image */
|
/* Create an OpenGL texture for the image */
|
||||||
glGenTextures(1, &texture);
|
glGenTextures(1, &texture);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue