Watching Paint Dry - GPU Paint Brush
Written by David Conrad   
Saturday, 24 October 2015

The joke about watching paint dry is about to backfire because this video of a simulated brush and paint interacting with a simulated canvas is amazing - and even more so when you know it is real time. 

There have been painting programs before and some of them, even the commercial ones, do a reasonable job of simulating a brush stroke, but it isn't in the same league as a real brush loaded with oil or acrylic paint. Any success that the user might have with these programs is as much about how much the program trained them to use their simulated brush than any accuracy in the simulation - until Wetbrush, that is.


This uses an Intel i7-5930K 3.5GHz desktop with an NVIDIA GeForce GTX TITAN X GPU - up market, about $1000, but not out of reach - to simulate brushes with between 40 to 600 bristles and a 4096 pixel square canvas. The system, using CUDA,  is able to produce 30 to 110 frames per second and allows the user to interact with it as if it was real paint on real canvas. 

The simulation makes use of a hybrid approach, modeling the paint near the brush using particles and as liquid further away from the brush. The system is believed to be the first that implements bristle-level interactions. The bristle simulation is good enough for artists to be able to make use of their usual brush techniques of stabbing and scumbling:

 Take a look at how good it is:


The researchers from Ohio State University & Adobe Research  let some artists loose on it and:

"The artists were impressed by our system and they informed us that this was the first time for them to feel like doing real painting."

Sometimes it seems like a mad world where a huge effort goes into simulating something that can be had for a few cents. It isn't clear if more accurate simulation will lead on to something new or if it is just the need to make everything that can be digital - digital. I have to admit that it is fun to watch.

The future plans for the system include:

In the future, we would like to improve the accuracy of our brush simulator, e.g., bristle softness after being wetted and surface tension. We also would like to incorporate water color and wet canvas effects into the system, so that paint can travel within canvas through percolation. An interesting question is how can we achieve high-quality simulation results on low-end devices. To answer this question, we are interesting in exploring alternative models and tools that can produce quality results fast. Finally, we will develop more accurate color mixing models and detail enhancement approaches, to further improve our result quality.



More Information 

SIIGRAPH 2015 Asia – PDF 14MB

Wetbrush: GPU-based 3D Painting Simulation at the Bristle Level
Zhili Chen, Byungmoon Kim, Daichi Ito, Huamin Wang


Related Articles

WebGLStudio.js - 3D Development For The Web

LiquidFun V1.1 Runs In A Browser

Unified Particles Make Better Graphics

Water In WebGL - One You Have To See


To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on, Twitter, FacebookGoogle+ or Linkedin



Java Or Python For Android - Why Not Both!

Should you choose Java or Python for your next Android project? You don't have to with Chaquopy, the Python SDK that lets you write Android applications in Python. Thanks to support from Anaconda, it  [ ... ]

Fundamental Cryptography in Theory and Python

Learn to do Cryptography with Python and for free too. A course by computer scientist of ETH Zürich and cybersec expert Cyrill Gössi. He teaches the concepts of Cryptography with a practical approac [ ... ]

More News






or email your comment to:


Last Updated ( Saturday, 24 October 2015 )