Post

Replies

Boosts

Views

Activity

Reply to CIImage.clampedToExtent() doesn't fill some edges
I guess it has to do with the affine transform you apply to the image before you do the clampedToExtent(): As you can see, the output of the transform has non-integer extent. This probably creates a row of transparent pixels at the top of the image, that is then repeated when applying clampedToExtent(). To avoid this, you can calculate the scale factors for your transform separately for x and y to ensure that the resulting pixel size is integer. Alternatively, you can apply the clamping before you apply the affine transform.
Topic: Programming Languages SubTopic: Swift Tags:
Dec ’23
Reply to Use CoreImage filters on Vision Pro (visionOS) view
So far, there is no API in visionOS that allows developers access to the live video feed. This is by design, and most likely to protect the user's privacy: While on an iPhone you explicitly consent to sharing your surroundings with an app by pointing your camera at things, you can't really avoid that on the Apple Vision Pro.
Topic: Spatial Computing SubTopic: ARKit Tags:
Jan ’24
Reply to IOSurface vs. IOSurfaceRef on Catalyst
It turns out that the issue is only occurring when there is also a CIContext being initialized in the same file (it doesn’t matter where in the file). As soon as I remove the CIContext, the compiler doesn't complain anymore about the cast to IOSurfaceRef (doesn't even need to be a force-cast), and there is also no runtime error.
Topic: Media Technologies SubTopic: General Tags:
Jun ’24
Reply to CIImageProcessorKernel using Metal Compute Pipeline error
I'm not sure using Core Image is the best choice here. CI might impose limits on the runtime of kernels, and your regression kernel seems too expensive. It's also not intended that you pass the images and mask as CGImage via the arguments into the kernel. It would be better if you'd convert them to CIImage first and then pass them via the inputs parameter. CI would then convert them to Metal textures for you. Unfortunately, Core Image doesn't support texture arrays, so you would need to find a workaround for that. Have you tried running your kernel in a pure Metal pipeline? It might be the better choice here. Or do you need it to be part of a Core Image pipeline?
Topic: Graphics & Games SubTopic: Metal Tags:
Aug ’24
Reply to Symbol missing when building in Xcode cloud with Xcode 16 beta and running on macOS 14.6
We found a workaround for this issue by replacing NSDecimalRound with the following helper (works when coming from a Double): extension Double { /// Helper for rounding a number to a fixed number of decimal places (`scale`). /// /// This is a replacement for `NSDecimalRound`, which causes issues in release builds /// with the Xcode 16 RC. func roundedDecimal(scale: Int = 0, rule: FloatingPointRoundingRule = .toNearestOrEven) -> Decimal { let significand = Decimal((self * pow(10, Double(scale))).rounded(rule)) return Decimal(sign: self.sign, exponent: -scale, significand: significand) } }
Sep ’24