Transcript watercolor

Computer-Generated Watercolor
Curtis, Anderson, Seims, Fleischer, & Salesin
SIGGRAPH 1997
presented by Dave Edwards
Motivation

Trend toward nonphotorealistic rendering
–
–
–
–
–

D. Small: Watercolor on a Connection Machine
Commercial software
Q. Guo & T. Kunii: Ink diffusion through paper
Animating the fluid dynamics of water
Effects of water flow on surface appearance
Watercolor exhibits beauty & uniqueness
Simulating Watercolor

Simulation based on
– Physical nature of watercolor
– Artistic effects of watercolor

Ultimate goal
– Result of simulation should be realistic
Watercolor Materials

Watercolor paint
– Pigment particles
– Binder
– Surfactant

Watercolor paper
– Linen or cotton
– Sizing
Watercolor Effects

Dry-brush
– Paint applied to raised areas of paper
Real
Simulated
Watercolor Effects

Edge Darkening
– Pigment migrates toward edges of wet surface
Real
Simulated
Watercolor Effects

Backruns
– Spreading water moves pigment on damp surface
Real
Simulated
Watercolor Effects

Granulation
– More pigment settles in lower areas on paper
Real
Simulated
Watercolor Effects

Flow Patterns
– Wet paper allows pigment to spread freely
Real
Simulated
Watercolor Effects

Glazing
– Thin layers of new paint added atop old dry layers
Real
Simulated
Simulation Overview


Image represented by 2-D grid of cells
Each brushstroke stored in glaze data struct
– Stores pigment concentration per image cell

Software creates glazes by simulating
– Fluid flow over paper
– Pigment movement in fluid
– Fluid diffusion through paper

Glazes combined into single image
– Optical combination using Kubelka-Munk model
Paper Representation

Paper attributes (per cell)
– Height
– Fluid capacity

Paper surface texture examples:
Simulation Data

Store each of the following per cell:
–
–
–
–
–
Wet-area masks
Water velocity
Water pressure
Paper saturation
Pigment concentration


Free in water
Deposited on paper
Watercolor Simulation

Three-layer model
Watercolor Simulation

Simulate fluid & pigment movement in loop
–
–
–
–
–
Move water on surface of paper
Move pigment between cells
Adsorb pigment into paper & desorb into water
Expand wet portion of paper through diffusion
Repeat for each time step
Water Movement

Conditions
–
–
–
–
–
–
Water stays within wet-area mask
Water should flow away from concentrated areas
Flow should be damped (no sloshing)
Flow should be affected by paper contours
Local changes lead to global effects
Flow toward edges (produce edge darkening)
Pigment Movement

Based on
– Water velocity
– Free pigment concentration


Each cell distributes pigment to neighbors
Simplified equation:
pin ew  pio ld  max( 0, pjo ldvji)
– vji = water velocity between cell j and cell i
– pi = pigment concentration at cell i
Adsorption & Desorption


Pigments deposited & picked up again
Rates based on global constants
– Pigment density
– Staining power

Can also be based on paper height
– Granulation
Diffusion & Effects

Backruns
– Water absorbed and diffused through paper
– Cells transfer diffused water to neighbors
– Water saturation stored for each cell


Wet-area mask grows based on saturation threshold
Dry-brush
– User can specify height mask
Rendering a Simulation

Kubelka-Munk optical model
– Glazes have absorption & scattering coefficients
– One of each coefficient for R, G, and B
– Specified interactively


User sets pigment color on white & black backgrounds
Coefficients calculated from these colors
Pigment Examples

Swatches
Compositing Glazes

Calculate glaze’s reflectance & transmittance
– Based on absorption & scattering coefficients
– Each value has an R, G, and B component

Calculate total reflectance & transmittance
– Based on refl. & trans. from each glaze in cell
– Glaze thickness is also taken into account


Sum of free & deposited pigment concentrations
Total reflectance values used to render cell
Applications

“Interactive” painting
– User specfies intial conditions for simulation


Water, wet-area mask, & pigment concentration
Height mask for dry-brush effects is optional
– Simulation parameters can be changed


Can’t run simulation in real-time
Can calculate K-M model in real-time
Applications

Automatic watercolorization
– Based on digital reference image
– User specifies pigments & object mattes
– Color Separation

Software calculates ideal final pigment concentration
– Brushstroke planning

Software adds water or pigment during simulation
– Approximates original image with watercolor style
– Also works for synthetic images
Future Work




Additional watercolor effects
Completely automatic watercolorization
Generalization of physical effects
Animation coherence