Computer-Generated Watercolor Cassidy J. Curtis Sean E. Anderson Joshua E. Seims Kurt W. Fleischer David H. Salesin
Outline Introduction Related work Background Overview Watercolor simulation Rendering Applications Results Conclusion
Introduction Various artistic effects of watercolor
Related work Simulating artists’ traditional media and tools Watercolor : [David Small 1991] Sumie : [Guo and Kunii 1991] Commercial package Fractal Design Painter
Background Properties of watercolor Watercolor paper Pigment Binder Surfactant
Background Watercolor Effects a) dry-brush b) Edge darkening c) Backruns d) granulation and separation of pigments e) Flow patterns f) color glazing
Overview Computer-generated watercolor 1. Fluid (and pigment) simulation for each glaze 2. Rendering Glaze: physical properties, area
Fluid simulation Three-layer model
Fluid simulation Paper Generation Height field model ( 0 < h < 1 ) Based on pseudo-random process Fluid capacity c: proportional to h
Fluid simulation Main loop Moving Water Moving Pigments Applying Capillary Flow Moving Water Moving Pigments Transferring Pigments For each time step
Fluid simulation Main loop Moving Water Moving Pigments Applying Capillary Flow Moving Water Moving Pigments Transferring Pigments For each time step
Moving water conditions of water 1. To remain within the wet-area mask Applying Capillary Flow Moving Water Moving Pigments Transferring Pigments conditions of water 1. To remain within the wet-area mask 2. To flow outward into nearby region 3. To be damped to minimize oscillating waves 4. To be perturbed by the texture of the paper 5. To be affected by local changes 6. To present the edge-darkening effect Navier-Stoke Eq. Viscous drag k Paper slope h Mass conserv. Flow outward
Fluid simulation Configuration Staggered grid i,j Moving Water Applying Capillary Flow Moving Water Moving Pigments Transferring Pigments Configuration Staggered grid i,j
Fluid simulation Updating the water velocities Applying Capillary Flow Moving Water Moving Pigments Transferring Pigments Updating the water velocities Governing Equation (2D Navier-Stoke Eqn.)
Fluid simulation Derivation of Navier-Stoke Eqn.(1/5) Basic Eqn.: Applying Capillary Flow Moving Water Moving Pigments Transferring Pigments Derivation of Navier-Stoke Eqn.(1/5) Basic Eqn.: For unit volume:
Fluid simulation Derivation of Navier-Stoke Eqn.(2/5) Applying Capillary Flow Moving Water Moving Pigments Transferring Pigments Derivation of Navier-Stoke Eqn.(2/5) Two kind of measurements fluid solid Control volume
Fluid simulation Derivation of Navier-Stoke Eqn.(3/5) Eulerian view Applying Capillary Flow Moving Water Moving Pigments Transferring Pigments Derivation of Navier-Stoke Eqn.(3/5) Eulerian view
Fluid simulation Derivation of Navier-Stoke Eqn.(4/5) Governing Eq.: Applying Capillary Flow Moving Water Moving Pigments Transferring Pigments Derivation of Navier-Stoke Eqn.(4/5) Governing Eq.: Forces: Gravity: Viscosity: Pressure:
Fluid simulation Derivation of Navier-Stoke Eqn.(5/5) Applying Capillary Flow Moving Water Moving Pigments Transferring Pigments Derivation of Navier-Stoke Eqn.(5/5) Navier-Stoke Eqn. For 2D case,
Fluid simulation Updating the water velocities Applying Capillary Flow Moving Water Moving Pigments Transferring Pigments Updating the water velocities Numerical integration for u
Fluid simulation Updating the water velocities Applying Capillary Flow Moving Water Moving Pigments Transferring Pigments Updating the water velocities Applying paper slope effect: Applying Drag Force:
Fluid simulation Mass conservation (1/3) Divergence free condition Applying Capillary Flow Moving Water Moving Pigments Transferring Pigments Mass conservation (1/3) Divergence free condition
Fluid simulation Mass conservation (2/3) Applying Capillary Flow Moving Water Moving Pigments Transferring Pigments Mass conservation (2/3) Relaxation (iterative procedure)
Fluid simulation Mass conservation (3/3) Applying Capillary Flow Moving Water Moving Pigments Transferring Pigments Mass conservation (3/3) Relaxation (iterative procedure)
Fluid simulation Edge darkening To flow outward Applying Capillary Flow Moving Water Moving Pigments Transferring Pigments Edge darkening To flow outward Remove some water at the boundary
Fluid simulation Edge darkening dry wet 1 M .1 .4 .6 1 .9 M’ .4 .1 Applying Capillary Flow Moving Water Moving Pigments Transferring Pigments Edge darkening dry wet 1 M .1 .4 .6 1 .9 M’ .4 .1 (1-M’)M
Fluid simulation Main loop Moving Water Moving Pigments Applying Capillary Flow Moving Water Moving Pigments Transferring Pigments For each time step
Fluid simulation Moving Pigments Applying Capillary Flow Moving Water Moving Pigments Transferring Pigments Moving Pigments To move as specified by the velocity field u,v
Fluid simulation Moving Pigments Applying Capillary Flow Moving Water Moving Pigments Transferring Pigments Moving Pigments To move as specified by the velocity field u,v
Fluid simulation Main loop Moving Water Moving Pigments Applying Capillary Flow Moving Water Moving Pigments Transferring Pigments For each time step
Fluid simulation Transferring Pigments Adsorption and desorption Applying Capillary Flow Moving Water Moving Pigments Transferring Pigments Transferring Pigments Adsorption and desorption Adsorption Desorption
Fluid simulation Main loop Moving Water Moving Pigments Applying Capillary Flow Moving Water Moving Pigments Transferring Pigments For each time step
Fluid simulation Backruns Diffusing water through the capillary layer Applying Capillary Flow Moving Water Moving Pigments Transferring Pigments Backruns Diffusing water through the capillary layer Spreading slowly into a drying region Transfer water to its dryer neighbors until they are saturated
Fluid simulation Drybrush effect By excluding any lower pixel than threshold
Rendering Optical properties of pigments Optical composition – subtractive color mixing
Rendering S K Optical properties of pigments Kubelka-Munk (KM) Model To compute Reflectance R and Transmittance T using K and S backscattered S unit length absorbed K
Rendering Optical properties of pigments Kubelka-Munk (KM) Model
Rendering Optical properties of pigments Kubelka-Munk (KM) Model For multiple layers
Rendering Optical properties of pigments We need S and K values Kubelka-Munk (KM) Model We need S and K values Make user choose them intuitively
Rendering Optical properties of pigments User selects Rw and Rb
Rendering Optical properties of pigments User selects Rw and Rb
Applications 1. Interactive painting with watercolors 2. Automatic image “watercolorization” 3. Non-photorealistic rendering of 3D models
Applications 1. Interactive painting with watercolors
Applications 2. Automatic image “watercolorization” Color separation Brushstroke Planning
Applications 2. Automatic image “watercolorization” Color separation Determine the thickness of each pigment by brute-force search for all color combinations
Applications 2. Automatic image “watercolorization” Brushstroke planning
Applications 3. Non-photorealistic rendering of 3D models Using “photorealistic” scene of 3D model
Results
Results
Results
Results
Conclusion Various artistic effects of watercolor Application Water and pigment simulation Pigment Rendering Application Interactive system Automatic “watercolorization” of 2D and 3D
Further work Other effects Automatic rendering Generalization Spattering and drybrush Automatic rendering Applying automatic recognition Generalization Integration of Wet-in-wet and backruns Animation issues Reducing temporal artifacts