Real-Time Gradient-Domain Painting
We present an image editing program which allows artists to paint in the gradient domain with real-time feedback on megapixel-sized images. Along with a pedestrian, though powerful, gradient-painting brush and gradient-clone tool, we introduce an edge brush designed for edge selection and replay. These brushes, coupled with special blending modes, allow users to accomplish global lighting and contrast adjustments using only local image manipulations -- e.g. strengthening a given edge or removing a shadow boundary. Such operations would be tedious in a conventional intensity-based paint program and hard for users to get right in the gradient domain without real-time feedback. The core of our paint program is a simple-to-implement GPU multigrid method which allows integration of megapixel-sized full-color gradient fields at over 20 frames per second on modest hardware. By way of evaluation, we present example images produced with our program and characterize the iteration time and convergence rate of our integration method.
The following images were created with our gradient paint system by members of the Carnegie Mellon graphics community as part of an informal gradient-painting contest.
CitationJames McCann and Nancy S. Pollard. Real-time Gradient-domain Painting, ACM Transactions on Graphics (SIGGRAPH 2008), August 2008, Vol 27. No. 3. [PDF, compressed figures, 3.4MB] [PDF, full figures, 21MB] [BibTeX]
Note: The work-around for graphics cards that do not support linear interpolation of floating-point textures (ATI X-series, notably) is now included in the binary releases for OSX and Windows.