I am recreating Instagram-like filters using Core Image, Metal, and ideas from functional programming.
At the moment, this app displays a simple Metal View rendering real-time frames coming from your camera. Frames go through the Core Image pipeline and get processed by Noir Filter. All work done on GPU.
- Download the
main
branch. - Fill in your Bundle ID.
- Connect your iPhone and run!
- Render frames from an iPhone Camera in Metal View. [DONE]
- Add UI to take photos and choose filters. [IN PROGRESS]
- Write Core Image kernels for custom effects.
- Add support for recording videos.
I am a big fan of The Composable Architecture, and I wanted to write a simple Camera app using principles of functional programming for something that feels "imperative" (Camera device). However, I did not import TCA and used my own simple structs (State, Action, Reducer/UseCase) because I did not want to depend on a framework.