Class CIKernel

  • All Implemented Interfaces:
    NSObject
    Direct Known Subclasses:
    CIColorKernel, CIWarpKernel

    public class CIKernel
    extends NSObject
    CIKernel is an object that encapsulates a Core Image Kernel Language routine that generates a new images based on input images and agruments. General kernel functions are declared akin to this example: kernel vec4 myColorKernel (sampler fore, sampler back, vec4 params) The function must take a sampler argument for each input image. Additional arguments can be of type float, vec2, vec3, vec4, or __color. The destination pixel location is obtained by calling destCoord(). The kernel should call sample() with coordinates based on either samplerCoord() or samplerTransform() to read pixel values from input images. The function must return a vec4 pixel color.
    • Constructor Detail

      • CIKernel

        protected CIKernel​(org.moe.natj.general.Pointer peer)
    • Method Detail

      • accessInstanceVariablesDirectly

        public static boolean accessInstanceVariablesDirectly()
      • alloc

        public static CIKernel alloc()
      • allocWithZone

        public static java.lang.Object allocWithZone​(org.moe.natj.general.ptr.VoidPtr zone)
      • automaticallyNotifiesObserversForKey

        public static boolean automaticallyNotifiesObserversForKey​(java.lang.String key)
      • cancelPreviousPerformRequestsWithTarget

        public static void cancelPreviousPerformRequestsWithTarget​(java.lang.Object aTarget)
      • cancelPreviousPerformRequestsWithTargetSelectorObject

        public static void cancelPreviousPerformRequestsWithTargetSelectorObject​(java.lang.Object aTarget,
                                                                                 org.moe.natj.objc.SEL aSelector,
                                                                                 java.lang.Object anArgument)
      • classFallbacksForKeyedArchiver

        public static NSArray<java.lang.String> classFallbacksForKeyedArchiver()
      • classForKeyedUnarchiver

        public static org.moe.natj.objc.Class classForKeyedUnarchiver()
      • debugDescription_static

        public static java.lang.String debugDescription_static()
      • description_static

        public static java.lang.String description_static()
      • hash_static

        public static long hash_static()
      • instanceMethodSignatureForSelector

        public static NSMethodSignature instanceMethodSignatureForSelector​(org.moe.natj.objc.SEL aSelector)
      • instancesRespondToSelector

        public static boolean instancesRespondToSelector​(org.moe.natj.objc.SEL aSelector)
      • isSubclassOfClass

        public static boolean isSubclassOfClass​(org.moe.natj.objc.Class aClass)
      • kernelWithString

        public static CIKernel kernelWithString​(java.lang.String string)
        The string argument should contain a program with one kernel. On OSX 10.10 and before, this returns a CIKernel object. On OSX after 10.10, this returns a CIKernel, CIColorKernel, or CIWarpKernel object. On iOS this returns a CIKernel, CIColorKernel, or CIWarpKernel object.
      • kernelsWithString

        public static NSArray<? extends CIKernel> kernelsWithString​(java.lang.String string)
        The string argument should contain a program in the Core Image Kernel Language. All the kernel functions in the program are converted to instances of a CIKernel objects and returned in an array. On OSX 10.10 and before, the array will contain instances of CIKernel class. On OSX after 10.10, the array will contain instances of CIKernel, CIColorKernel or CIWarpKernel classes. On iOS, the array will contain instances of CIKernel, CIColorKernel or CIWarpKernel classes.
      • keyPathsForValuesAffectingValueForKey

        public static NSSet<java.lang.String> keyPathsForValuesAffectingValueForKey​(java.lang.String key)
      • new_objc

        public static java.lang.Object new_objc()
      • resolveClassMethod

        public static boolean resolveClassMethod​(org.moe.natj.objc.SEL sel)
      • resolveInstanceMethod

        public static boolean resolveInstanceMethod​(org.moe.natj.objc.SEL sel)
      • setVersion_static

        public static void setVersion_static​(long aVersion)
      • superclass_static

        public static org.moe.natj.objc.Class superclass_static()
      • version_static

        public static long version_static()
      • applyWithExtentRoiCallbackArguments

        public CIImage applyWithExtentRoiCallbackArguments​(CGRect extent,
                                                           CIKernel.Block_applyWithExtentRoiCallbackArguments callback,
                                                           NSArray<?> args)
        Apply the receiver CIKernel to produce a new CIImage object. The 'extent' is the bounding box of all non-clear pixels produced by the kernel. The 'callback' is a block that should return the rectangle of each input image that is needed to produce a given rectangle in the coordinate space of the new image. The 'args' is an array of parameters needed to describe the new image. The object types of the items in the array correspond to the argument types of the kernel function. For example, if the first argument in the kernel is a sampler, then the first object in the array must be a CIImage.
      • name

        public java.lang.String name()
        The name of the kernel.
      • setROISelector

        public void setROISelector​(org.moe.natj.objc.SEL method)
        Sets the selector used by Core Image to ask what rectangles of a kernel's input images are needed to produce a desired rectangle of the kernel's output image. Using setROISelector: is suppoted but not recommended. The selector is only used if one the [CIFilter apply:...] methods is used. Instead, use one of the [CIKernel applyWithExtent:roiCallback:...] methods. The method should have one of the following signatures: - (CGRect)regionOf:(int)samplerIndex destRect:(CGRect)r userInfo:obj; - (CGRect)regionOf:(int)samplerIndex destRect:(CGRect)r; 'samplerIndex' is the 0-based index specifying which of the kernel's input images is being queried. 'destRect' is the extent rectangle of kernel's output image being queried. 'userInfo' is the object associated with the kCIApplyOptionUserInfo when the kernel was applied. The method should return the rectangle of the index'th input image that is needed to produce destRect. Returning CGRectNull indicates that the index'th input image is not needed to produce destRect.
      • kernelWithFunctionNameFromMetalLibraryDataError

        public static CIKernel kernelWithFunctionNameFromMetalLibraryDataError​(java.lang.String name,
                                                                               NSData data,
                                                                               org.moe.natj.general.ptr.Ptr<NSError> error)
        The data argument should represent a metallib file compiled with the Core Image Standard Library and contain the given function written in the Metal Shading Language. An optional output pixel format can be specified, and would be used if the output of the kernel needs to be written to an intermediate texture.
      • kernelWithFunctionNameFromMetalLibraryDataOutputPixelFormatError

        public static CIKernel kernelWithFunctionNameFromMetalLibraryDataOutputPixelFormatError​(java.lang.String name,
                                                                                                NSData data,
                                                                                                int format,
                                                                                                org.moe.natj.general.ptr.Ptr<NSError> error)
      • kernelNamesFromMetalLibraryData

        public static NSArray<java.lang.String> kernelNamesFromMetalLibraryData​(NSData data)
        This method will return an array of strings corresponding to names of all of the kernels contained within the underlying Metal library in the associated NSData.