First a note. The name property is declared as a CACIFilterAdditions in 
CACIFilterAdditions.h.

I think you will need to draw the CIImage to your CIContext and then generate a 
CGImage to capture its state for future reference and then generate a new 
CIImage from the CGImage. I believe the CIImage that is the output of a filter 
is more a recipe about how to generate an image and not a bitmap representation 
of the image which I think is where your problem lies.

Kevin

Sent from my iPhone

On 24 Feb 2014, at 17:28, Gordon Apple <[email protected]> wrote:

> Apparently, my comment about not understanding this construct for
> setValueForKeyPath was correct.  It actually works. I finally got the
> highlighting filter to work and update properly. Now I¹m trying to do
> something much simpler, i.e., construct a freezeFilter.  Nothing I¹ve tried
> so far works.  Apparently, a CIFilter is expected to be stateless function
> such as outputImage = f(inputImage, parameters). Not accepting this premiss,
> I decided to try caching the first output image ( from the outputImage
> method), then return the cashed image thereafter, an ultra simple concept,
> except that it does not work. Any reason, besides what I postulated, why
> this shouldn¹t work?
> 
> 
> On 2/23/14 3:06 PM, "Gordon Apple" <[email protected]> wrote:
> 
>> We have run into a number is issues trying to use CIFilters with CALayers:
>> 
>> 1. When a layer is hidden, its filters, especially background filters, should
>> be temporarily removed, or at least bypassed.  Hiding the layer should make 
>> if
>> effectively non-existent in the displayed layer stack.
>> 
>> 2. The docs should tell you that in a CIFilter you cannot auto-synthesize
>> filter input parameters. This simply does not work, especially for 
>> inputImage.
>> 
>> 3. The docs for CALayer filters and background filters say you should name
>> your filters for use in changing parameters. I.e., filter.name = @²myFilter².
>> Amazingly, this works, in spite of the fact that there is no public property
>> called ³name² for a CIFilter.
>> 
>> 4. The example keyPath makes no sense whatsoever, unless we just don¹t
>> understand keyPaths:
>> 
>> [layer setValue:XXX forKeyPath:@²backgroundFilters.myFilter.filterParam²];
>> 
>> backgroundFilters is an array of filters. myFilter is a property value of 
>> some
>> element of the array. (huh?)
>> 
>> 5. We need some decent documentation of what in GL Shading Language is
>> actually relevant to writing ciKernels, besides the one page addendum
>> provided.
>> 
>> 6. And, of course, the problem we have already mentioned in a previous post
>> about getting a CALayer to update when a filter parameter is changed.
> 
> 
> _______________________________________________
> 
> Cocoa-dev mailing list ([email protected])
> 
> Please do not post admin requests or moderator comments to the list.
> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
> 
> Help/Unsubscribe/Update your Subscription:
> https://lists.apple.com/mailman/options/cocoa-dev/ktam%40yvs.eu.com
> 
> This email sent to [email protected]

_______________________________________________

Cocoa-dev mailing list ([email protected])

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to