Skip to content
FilmFrame

FilmFrame

Personal camera app for my Pixel — manual controls, real film simulation LUTs on the GPU, and XPan-style crops.

Active
Kotlin Jetpack Compose CameraX OpenGL GPU Compute

What It Is

FilmFrame is a camera app I built for my Pixel because the stock camera app doesn’t give you real manual control. ISO, shutter speed, focus, white balance — the stuff you’d expect from a proper camera body — plus real film simulation applied via LUTs on the GPU in real-time.

Film Stocks

17 film simulations including Kodak Portra 160/800, Ektar 100, Tri-X 400, Fuji Eterna, CineStill 800T, and Ilford HP5. Each has its own grain profile with luminance-weighted noise — not Perlin, actual per-crystal white noise like real film.

The LUT pipeline parses .cube files, builds Hald CLUT textures, and applies them in a GLSL fragment shader with trilinear interpolation. Live preview runs at camera frame rate.

XPan Mode

Hasselblad XPan-style panoramic crops — 2.7:1, 3:1, cinematic 2.39:1, plus the usual 16:9, 4:3, and 1:1. Full sensor data is preserved so you can uncrop later if you want.

The Camera Nerd Stuff


← All Projects