Easy Image Histograms in Swift with Shinpuru Image
Following on from my recent post on Shinpuru Image, my Swift syntactic sugar for Core Image and vImage filters, here's a new addition: SIHistogramCalculation().SIHistogramCalculation() returns a tuple...
View ArticleFast Core Image Filter Chaining in Swift with Shinpuru Image
The first iteration of Shinpuru Image, was great to simplify the implementation of Core Image and vImage filters but was a little suboptimal when chaining filters together. This is because each...
View ArticleA First Look at UIStackView in Swift 2.0
Amongst the many exciting things here at WWDC (Metal for OS X, UI Debugging, Open Source Swift...) is the introduction of a new layout class for Swift, UIStackView. UIStackView is a great addition to...
View ArticleA First Look at Metal for OS X El Capitan
One of the other big announcements at WWDC was the introduction of Metal to the new version of OS X, El Capitan. Metal is a low level graphics API that offers awesome performance and its availability...
View ArticleNew Core Image Filters in iOS 9
WWDC 2015 saw some exciting news for fans of Core Image Filters. Not only are lots of filters, such as blur and convolution, now powered by MetalPerformanceShaders giving some amazing performance...
View ArticleNew in iOS 9: Filtering SceneKit Nodes with Core Image Filters
Another exciting announcement at WWDC 2015 was a new property on SCNNode: filters which is an optional array of CIFilter instances.By simply populating this array with a filter or filters, the node and...
View ArticleA Marking Menu Component for iOS in Swift
My first exposure to marking menus was using Alias|Wavefront software for 3D modelling and animation many moons ago. Marking menus are an advanced form of radial menus whereby the user performs a...
View ArticleOS X El Capitan & iOS 9: Cross Platform Metal!
I finally bit the bullet and installed iOS 9 Beta 2 on my iPad Air 2. This has allowed me to extend my OS X Metal Particles project with a new target: an iOS device!The Swift ParticleLab class and the...
View ArticleA First Look at Metal Performance Shaders in iOS 9
One of my favourite new iOS 9 features released at this year's WWDC is the new Metal Performance Shaders (MPS) framework. MPS were explained by Anna Tikhonova in the second half of What's New in Metal,...
View ArticleUsing MetalPerformanceShaders on Images with MTKTextureLoader
My earlier post, A First Look at Metal Performance Shaders in iOS 9, is all very well and good for using Apple's new Metal Performance Shaders (MPS) framework to filter scenes generated in Metal, but...
View ArticleApplying CIFilters to a Live Camera Feed with Swift
Here's a fun little demo project that you may find useful as a starting point for your own work: a Swift app for iOS that applies a Core Image filter (I've used a CIComicEffect - one of the new filters...
View ArticleGenerating & Filtering Metal Textures From Live Video
My last post, Applying CIFilters to a Live Camera Feed with Swift, showed the basics of setting up an AVCaptureSession to create and filter CIImages. This post expands on that and discusses using the...
View ArticleControlling Metal Reaction Diffusion Systems with the iPad Camera
Here's a funky Swift and Metal experiment that uses the Metal-texture-from-video technique I described in my recent blog post, Generating & Filtering Metal Textures From Live Video.Here, I'm only...
View ArticleA First Look at Model I/O's Sky Cube Texture
My recent blog post, Controlling Metal Reaction Diffusion Systems with the iPad Camera, demonstrated using Model I/O's procedural noise texture in a Metal scene. This post looks at using Model I/O's...
View ArticleHybrid Marking Menu / Radial Slider Swift Component for iOS
Over the last few weeks, I've been evolving my original marking menu component for iOS and made some pretty significant changes:Distributing the menu items over a full circle meant that often some...
View ArticleEvent Dispatching in Swift with Protocol Extensions
One of the highlights for Swift 2.0 at WWDC was the introduction of protocol extensions: the ability to add default method implementations to protocols. Plenty has been written about protocol oriented...
View ArticleMetal Performance Shaders & Fallback Copy Allocators
One of the options available when using Metal Performance Shaders is to filter textures in place. This is discussed in What's New in Metal Part 2, but the actual implementation is slightly glossed...
View ArticleiOS Live Camera Controlled Particles in Swift & Metal
My latest Swift and Metal experiment borrows from my recent post Generating & Filtering Metal Textures From Live Video and from my numerous posts about my Metal GPU based particle system,...
View ArticleEasy Group Based Layout for Swift with Shinpuru Layout
One of the joys of working with Apache Flex is easy user-interface layout using horizontal and vertical groups. I haven't worked much with Xcode's interface builder and Visual Format Language looks a...
View ArticleZip, Map and Generics: The Evolution of a Swift Function
Let’s imagine, you come into work one bright and sunny Monday morning to find a new requirement has landed in your inbox:Please create a function that accepts two arrays of Floats and returns a new...
View Article