Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void unsharpMask(SDL_Surface* inputSurface,SDL_Surface* outputSurface)
- {
- Uint32* pixels = (Uint32*)inputSurface->pixels;
- Uint32* outputPixels=(Uint32*)outputSurface->pixels;
- Uint32* blurredPixels=(Uint32*)blurredSurface->pixels;
- meanBlur(infoSurface,blurredSurface);
- for (int i=0;i<inputSurface->h;i++)
- {
- for(int j=0;j<inputSurface->w;j++)
- {
- Uint8 rOriginal,gOriginal,bOriginal;
- Uint8 rBlurred,gBlurred,bBlurred;
- Uint32 rMask,gMask,bMask;
- Uint32 rFinal,gFinal,bFinal;
- SDL_GetRGB(blurredPixels[i*blurredSurface->w+j],blurredSurface->format,&rBlurred,&gBlurred,&bBlurred);
- SDL_GetRGB(pixels[i*inputSurface->w+j],inputSurface->format,&rOriginal,&gOriginal,&bOriginal);
- rMask=rOriginal - rBlurred;
- rFinal=rOriginal + rMask;
- if(rFinal>255) rFinal=255;
- if(rFinal<=0) rFinal=0;
- gMask=gOriginal - gBlurred;
- gFinal=gOriginal + gMask;
- if(gFinal>255) gFinal=255;
- if(gFinal<0) gFinal=0;
- bMask=bOriginal - bBlurred;
- bFinal=bOriginal + bMask;
- if(bFinal>255) bFinal=255;
- if(bFinal<0) bFinal=0;
- Uint32 pixel =SDL_MapRGB(outputSurface->format,rFinal,gFinal,bFinal);
- outputPixels[i *outputSurface->w+j]=pixel;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement