explaingit

bradlarson/gpuimage

Analysis updated 2026-06-21

20,304Objective-CAudience · developerComplexity · 2/5LicenseSetup · moderate

TLDR

GPUImage is an iOS framework that applies image and video filters using the device's GPU instead of the CPU, making visual effects over 100x faster, without requiring any OpenGL knowledge.

Mindmap

mindmap
  root((GPUImage))
    What it does
      GPU-powered filters
      100x faster than CPU
      No OpenGL knowledge
    Inputs
      Live camera
      Still images
      Video files
    Outputs
      Screen view
      UIImage
      Saved movie
    Filter types
      Color adjustments
      Blur effects
      Edge detection
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Add real-time camera filters such as sepia or blur to an iOS app without writing any OpenGL shader code.

USE CASE 2

Process a video file through a chain of visual effects and save the output as a new movie file on the device.

USE CASE 3

Build a photo editing feature with color adjustments, blend modes, and custom filters for an iOS app.

What is it built with?

Objective-COpenGL ESiOSSwift

How does it compare?

bradlarson/gpuimageopa334/trollstoresnapkit/masonry
Stars20,30421,34118,166
LanguageObjective-CObjective-CObjective-C
Setup difficultymoderatehardeasy
Complexity2/54/52/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires iOS 4.1+ with OpenGL ES 2.0 support, not compatible with very early iPhone hardware.

Free to use, modify, and redistribute for any purpose including commercial, as long as you keep the BSD copyright notice.

In plain English

GPUImage is an open-source iOS framework written in Objective-C that lets developers apply image and video filters using the device's GPU (graphics processing unit) rather than the CPU. GPUs are specialized chips designed to handle many operations in parallel, making them dramatically faster for visual processing tasks. According to the README, on an iPhone 4 a simple image filter runs over 100 times faster on the GPU than an equivalent CPU-based approach. The framework works by setting up a processing pipeline called a chain: you connect a source (such as a live camera feed, a still image, or a video file) to one or more filters, and then to an output (such as the screen, a UIImage, or a saved movie file). For example, to show a sepia-toned live camera preview you connect GPUImageVideoCamera to GPUImageSepiaFilter to GPUImageView. Branching is supported, so the same source can feed multiple filter chains simultaneously. Under the hood, GPUImage uses OpenGL ES 2.0 shaders to do the actual processing, but hides all that complexity behind a clean Objective-C interface, you do not need to know anything about OpenGL to use it. The framework supports writing custom filters and includes a broad library of built-in effects covering color adjustments, blurs, edge detection, blending modes, and much more. It was a popular choice before Apple's Core Image framework matured on iOS. GPUImage requires OpenGL ES 2.0 (ruling out very early iPhones) and targets iOS 4.1 or later. It is BSD-licensed and is also available as a Swift-compatible framework module.

Copy-paste prompts

Prompt 1
Using GPUImage in Objective-C, set up a live camera preview with a real-time vintage filter applied. Show me how to wire the filter chain.
Prompt 2
I want to apply a Gaussian blur followed by a sepia tone to a UIImage using GPUImage. Write the code to chain these two filters together.
Prompt 3
Using GPUImage, process a local video file with an edge detection filter and save the result as a new MP4 on disk.
Prompt 4
Help me write a custom GPUImage filter using a GLSL shader that inverts the colors of any image fed into the pipeline.

Frequently asked questions

What is gpuimage?

GPUImage is an iOS framework that applies image and video filters using the device's GPU instead of the CPU, making visual effects over 100x faster, without requiring any OpenGL knowledge.

What language is gpuimage written in?

Mainly Objective-C. The stack also includes Objective-C, OpenGL ES, iOS.

What license does gpuimage use?

Free to use, modify, and redistribute for any purpose including commercial, as long as you keep the BSD copyright notice.

How hard is gpuimage to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is gpuimage for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub bradlarson on gitmyhub

Verify against the repo before relying on details.