Skip to content

Painterly Rendering from SIGGRAPH 98 paper (Java version)

License

Notifications You must be signed in to change notification settings

hertzmann/painterJava

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Painterly Rendering with Curved Brush Strokes of Multiple Sizes (SIGGRAPH 98)

This is the source code for the following paper:

Aaron Hertzmann. Painterly Rendering with Curved Brush Strokes of Multiple Sizes. Proc. SIGGRAPH 1998. Project Page, ACM paper link

I haven't looked at this code in more than 20 years, but, amazingly, it runs just fine with no modification. Thanks to Manuel Rodriguez Ladrón de Guevara for the impetus to dig up the files and for testing it out.

For my NPAR2000 paper, I re-implemented this algorithm in C++/OpenGL, and I may release that code at some point too. That code does not work out of the box.

Installation

If necessary, install Java with your favorite client. For example, OS X with homebrew already installed:

brew install java
rehash

Then, to run

cd java
javac Painter.java
java Painter ../images/tomato83.jpg

(There will be a mountain of warnings about deprecated APIs.)

You should see an interface like this, showing the input image:

painter UI

Press Go!

Three windows will appear, showing the three layers of paint strokes, with Layer 2 being the final output:

painter output

The parameters in the UI should correspond directly to the parameters listed in the paper.

What took minutes of computation in 1998 is now instantaneous.

Some more outputs:

HuangShan layers

Lizard layers

About

Painterly Rendering from SIGGRAPH 98 paper (Java version)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages