Skip to content

Instantly share code, notes, and snippets.

@troystribling
Created June 16, 2012 14:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save troystribling/2941424 to your computer and use it in GitHub Desktop.
Save troystribling/2941424 to your computer and use it in GitHub Desktop.
GPUImage Blending Mode example
- (UIImage*)blendedImage {
GPUImagePicture* bluredImage = [[GPUImagePicture alloc] initWithImage:self.filterImage];
GPUImageFilterGroup* blurFilterGroup = [[GPUImageFilterGroup alloc] init];
GPUImageFilter* colorOverlayfilter = [[GPUImageFilter alloc] initWithFragmentShaderFromFile:@"WhiteColorOverlay"];
GPUImageGaussianBlurFilter* gaussainBlur = [[GPUImageGaussianBlurFilter alloc] init];
[gaussainBlur setBlurSize:3.0f];
[blurFilterGroup addFilter:colorOverlayfilter];
[blurFilterGroup addFilter:gaussainBlur];
[colorOverlayfilter addTarget:gaussainBlur];
[blurFilterGroup setInitialFilters:[NSArray arrayWithObject:colorOverlayfilter]];
[blurFilterGroup setTerminalFilter:gaussainBlur];
[bluredImage addTarget:blurFilterGroup];
[bluredImage processImage];
GPUImagePicture* bluredImageResult = [[GPUImagePicture alloc] initWithImage:[blurFilterGroup imageFromCurrentlyProcessedOutputWithOrientation:self.filterImage.imageOrientation]];
GPUImageNormalBlendFilter* blendFilter = [[GPUImageNormalBlendFilter alloc] init];
GPUImagePicture* topImage = [[GPUImagePicture alloc] initWithImage:self.filterImage];
[bluredImageResult processImage];
[bluredImageResult addTarget:blendFilter];
[topImage addTarget:blendFilter];
[topImage processImage];
return [blendFilter imageFromCurrentlyProcessedOutputWithOrientation:self.filterImage.imageOrientation];
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment