yahoo2013 hackday - frosted glass effect on ios app

22
Frosted glass effect in mobile web and app Anistar Sung John Wu Saturday, November 2, 13

Upload: anistar-sung

Post on 20-Aug-2015

813 views

Category:

Technology


1 download

TRANSCRIPT

Frosted glass effect in mobile web and app

Anistar SungJohn Wu

Saturday, November 2, 13

Anistar SungYahoo EC Lead Engineer

John wuYahoo EC Sr. Engineer

Saturday, November 2, 13

Why we like frosted glass

effect?

Saturday, November 2, 13

content is the king

Saturday, November 2, 13

content is the king

Saturday, November 2, 13

Saturday, November 2, 13

Frosted glass flowSaturday, November 2, 13

Frosted glass flowSaturday, November 2, 13

Frosted glass flowSaturday, November 2, 13

Frosted glass flowSaturday, November 2, 13

Frosted glass flowSaturday, November 2, 13

Frosted glass flowSaturday, November 2, 13

Frosted glass flowSaturday, November 2, 13

DEMO

Saturday, November 2, 13

DEMO

Saturday, November 2, 13

Mobile device so slowSpeed is most important thing in UX

Saturday, November 2, 13

CPU vs GPUGPU faster than CPU 50X

in blur effect.

Saturday, November 2, 13

Framework SolutionsCoreGraphics: 1425 msGPUImage: 153 msCoreImage: 138 ms

UIToolbar: N/A (unadjustable)

Saturday, November 2, 13

GPUImage FrameworkGPUImagePicture *imagePicture = [[GPUImagePicture alloc] initWithImage:sourceImage];GPUImageFastBlurFilter *gpuBlurFilter = [[GPUImageFastBlurFilter alloc] init];gpuBlurFilter.blurPasses = 4;gpuBlurFilter.blurSize = 2.0f;[imagePicture addTarget:gpuBlurFilter];[gpuBlurFilter prepareForImageCapture];[imagePicture processImage]; UIImage *resultImage = [gpuBlurFilter imageFromCurrentlyProcessedOutput];

Saturday, November 2, 13

CoreImage FrameworkCIImage *coreSourceImage = [CIImage imageWithCGImage:sourceImage.CGImage];CIFilter *blurFilter = [CIFilter filterWithName:@"CIGaussianBlur"];[blurFilter setValue:coreSourceImage forKey:kCIInputImageKey];[blurFilter setValue:@5.0f forKey:@"inputRadius"];CIImage *resultCoreImage = [blurFilter outputImage]; CGImageRef cgImageRef = [_context createCGImage:resultCoreImage fromRect:coreSourceImage.extent];UIImage *resultImage = [UIImage imageWithCGImage:cgImageRef];CGImageRelease(cgImageRef);

Saturday, November 2, 13

UIToolbarUIToolbar *toolbar = [[UIToolbar alloc] initWithFrame:CGRectMake( 0.0f, 0.0f, 320.0f, 100.0f)];[self.view addSubview:toolbar];

Saturday, November 2, 13

Q&A

Saturday, November 2, 13