Currently, I am developing for custom CIFilters ciKernel's using the
shading language. I have successfully deployed some custom CIFilter
using these kernels which are pretty straightforward. I'm quite
experienced with vImage but understand the CIImage/CIFilter "inverse"
model is different. I would like to see some more complex examples
than the readily available examples in the CoreImage documentation
and the sample code. For example, for my needs, it should be
sufficient to see the kernel code for say the standard "Unsharp Mask"
or have it described.
1) is the "Unsharp Mask" implemented as a self contained ciKernel?
2) is it possible for a ciKernel to call another ciKernel? [I doubt it]
3) Should I incorporate the calls to other component filters
(CIFilter wrapped ciKernels) in the Cocoa CIFilter wrapper code such
as in the
- (CIImage *)outputImage;
method? (So for example, a "Unsharp Mask" might call "Gaussian Blur".)
4) If their are multiple ways to the same end then it terms of
performance what is the best/recommended strategy?