survey on real media paint simulation in computer graphics

11
Technical Report on Paper Review submitted for CSE 528: Computer Graphics on Nov 15, 2013 Technical Report Reviewing Papers on Real Media Painting as Graphics Application Khan Mostafa Graduate Student, Computer Science, Stony Brook University, NY 11794, USA Email: [email protected] Student ID# 109365509 ABSTRACT Achieving feature of real media painting like watercolor in computer graphics application is desired for long. Approaches to replicate such effects involve fluid flow, pigment flow, diffusion, paper models etc. Most approaches are raster based while some are vector based. Some approaches are for interactive paint applications and some are for non- photorealistic rendering of models – both static images and animations. Again, some approaches are to create watercolor styled images from real photos. This report surveys some approaches spanning these areas, mostly focusing on watercolor paint application, yet covering closely related works. 1 INTRODUCTION With the advancement of computing devices, digital paint media has emerged with suites of tools that artists have never experience before. Tools include palettes of multitude of colors, ability to undo, erase, mechanism for drawing precise geometric shapes, curves and so on. However, these digital paint features lack a lot of effects and desirable artistic nature of real paint mediums like watercolor, oil paint, acrylic, pencil sketch etc. All of these real media has their own characteristic natures derived from physical natures of the components used in them. Artists have long been exploited these features and they crave for such features even in digital media. Attempts are made from the dawn of digital paint applications to recreate realistic painting experience and yet researches are going on to perfect them. Earliest approaches could hardly work in real-time. Nevertheless, computation power has increased since the first attempts. As well as, researches have unveiled less computationally intensive approaches for approximating realist phenomena. In this report I review eight papers - four focusing on simulating water color painting in computers [1], [2], [3] [4]; two on non-photorealistic rendering (NPR) of models and re-rendering of images to embody watercolor effects [5], [6] and two are on simulating real fluid (water-like) media painting [7], [8]. In the following, section 2 discusses on properties of watercolor and other real media as outlined by various authors. Sections 3 different approaches to mimic them. 2 PROPERTIES OF WATERCOLOR AND OTHER REAL MEDIA PAINTING To mimic watercolor in computer graphics, we need to understand physical and characteristic nature of watercolor and artistic affects created by it. Curtis et al [2] discussed them in detail. 2.1 Watercolor materials Water color paintings are created by applying watercolor paints, often simply referred to as watercolors, on special type of absorbent papers. Watercolor papers are typically made from cotton or linen, pounded into small fibers. This produces microscopic web of tangled fibers, trapping air pockets. This makes such papers extremely absorbent. This causes immediate soaking and diffusion of water and paint pigments. To reduce this and create more desirable artistic experience, sizing (generally made from cellulose) is applied. Sizing create barriers and reduce rat4e of soaking. Sizing is placed sparingly, so there are pores too. Watercolor paper surfaces are desirably rough. Watercolor paints consists pigments of different color. Pigments are grounded into grains of about 0.05 to .5 microns with variant weights. They vary in density. Pigments are mixed with binder (glue) and surfactants (solvents). Binder allows pigments to be absorbed by the paper and surfactants let them flow. So, watercolor paints have a viscoelastic nature. Elasticity vary to meet artists’ choice. Watercolors are generally mixed with water before soaking brush into it.

Upload: khan-sadh-mostafa

Post on 16-Jan-2015

502 views

Category:

Technology


0 download

DESCRIPTION

A survey on real media paint simulation in Computer Graphics

TRANSCRIPT

Page 1: Survey on real media paint simulation in Computer Graphics

Technical Report on Paper Review submitted for CSE 528: Computer Graphics on Nov 15, 2013

Technical Report Reviewing Papers on Real Media Painting as Graphics Application

Khan Mostafa

Graduate Student, Computer Science, Stony Brook University, NY 11794, USA

Email: [email protected]

Student ID# 109365509

ABSTRACT

Achieving feature of real media painting like

watercolor in computer graphics application is

desired for long. Approaches to replicate such effects

involve fluid flow, pigment flow, diffusion, paper

models etc. Most approaches are raster based while

some are vector based. Some approaches are for

interactive paint applications and some are for non-

photorealistic rendering of models – both static

images and animations. Again, some approaches are

to create watercolor styled images from real photos.

This report surveys some approaches spanning

these areas, mostly focusing on watercolor paint

application, yet covering closely related works.

1 INTRODUCTION

With the advancement of computing devices, digital paint

media has emerged with suites of tools that artists have

never experience before. Tools include palettes of

multitude of colors, ability to undo, erase, mechanism for

drawing precise geometric shapes, curves and so on.

However, these digital paint features lack a lot of effects

and desirable artistic nature of real paint mediums like

watercolor, oil paint, acrylic, pencil sketch etc. All of these

real media has their own characteristic natures derived

from physical natures of the components used in them.

Artists have long been exploited these features and they

crave for such features even in digital media. Attempts are

made from the dawn of digital paint applications to

recreate realistic painting experience and yet researches are

going on to perfect them. Earliest approaches could hardly

work in real-time. Nevertheless, computation power has

increased since the first attempts. As well as, researches

have unveiled less computationally intensive approaches

for approximating realist phenomena.

In this report I review eight papers - four focusing on

simulating water color painting in computers [1], [2], [3]

[4]; two on non-photorealistic rendering (NPR) of models

and re-rendering of images to embody watercolor effects

[5], [6] and two are on simulating real fluid (water-like)

media painting [7], [8].

In the following, section 2 discusses on properties of

watercolor and other real media as outlined by various

authors. Sections 3 different approaches to mimic them.

2 PROPERTIES OF WATERCOLOR AND OTHER REAL

MEDIA PAINTING

To mimic watercolor in computer graphics, we need to

understand physical and characteristic nature of

watercolor and artistic affects created by it. Curtis et al [2]

discussed them in detail.

2.1 Watercolor materials

Water color paintings are created by applying watercolor

paints, often simply referred to as watercolors, on special

type of absorbent papers.

Watercolor papers are typically made from cotton or linen,

pounded into small fibers. This produces microscopic web

of tangled fibers, trapping air pockets. This makes such

papers extremely absorbent. This causes immediate

soaking and diffusion of water and paint pigments. To

reduce this and create more desirable artistic experience,

sizing (generally made from cellulose) is applied. Sizing

create barriers and reduce rat4e of soaking. Sizing is placed

sparingly, so there are pores too. Watercolor paper

surfaces are desirably rough.

Watercolor paints consists pigments of different color.

Pigments are grounded into grains of about 0.05 to .5

microns with variant weights. They vary in density.

Pigments are mixed with binder (glue) and surfactants

(solvents). Binder allows pigments to be absorbed by the

paper and surfactants let them flow. So, watercolor paints

have a viscoelastic nature. Elasticity vary to meet artists’

choice. Watercolors are generally mixed with water before

soaking brush into it.

Page 2: Survey on real media paint simulation in Computer Graphics

Khan Mostafa Student ID# 109365509

2

Watercolor pigments vary in density. Heavier ones tend to

get soaked in paper while lighter ones remain suspended

in water for a longer while. Suspended pigment flow with

water and create several artistic effects. Pigments, one

adhered to paper fibers tend to stay.

Artists generally put several glazes of paints on watercolor

papers. A final appearance of watercolor painting

incorporate several effects as described in following

section.

2.2 Watercolor Effects

Following are list of watercolor effects, commonly

observed and mentioned by several authors [2] [4] [5] [3]:

Dry brush effect: when almost dry brush is applied on a

paper, it stains only raised areas of paper. [2]

Edger Darkening: Pigments flow after being applied to

paper. In wet on dry situation, pigment cannot

propagate into dry regions of paper. When pigment

flow within wet areas of applied region edge between

wet and dry portions of paper accumulate more

pigments and seem darker in color. [2] [4]

Backruns: When some water is applied on already

stained but damp area, pigments accumulate motion

from applied watercolor and thus flow. This create

darkened edges with lightened stains – a specific

effect called backrun. [2] [4]

Granulation: Pigments have different size and weight.

Heavier pigments settle much earlier than lighter

ones. Roughness of paper cause uneven settling of

pigments in peaks and valleys of the surface. [2] [4]

Flow pattern: In wet on wet painting, wet paper let

pigment flow freely and create a soft feathery shapes.

[2]

Glazing: Artists put several glazes of water color. Once

some color is settled and dried, artists put another

layer of brush strokes. This strokes do not perturb

already dried stains. So, transparent layers of washes

or glazes become visible. This overlaid glazes display

dynamic, luminous, bright colors. [2]

Rewetting: Sometimes, when strokes are not still damp,

application of strokes over it rewets some part of

already stained area. This creates some features. [4]

Color blending: Several glazes, overlaid one upon

another create transparent color blending. [4]

Feathering: Free flow of pigments create feathered

look. This feature identified by DiVerdi et al is similar

to Curtis et al’s flow pattern. [4]

Lei and Chang [5] identifies edge darkening as most

important effect. They also simulate glazing, backrun,

granulation in their approach.

Van Laerhoven and Liesenborgs [3] identify similar effects

and recreate dark edges, overlapping strokes etc.

MoXi, which is a simulation of Chinese ink consider

similar effects as of watercolor. Chinese ink, is different

from watercolor. However, they display many common

effects of watercolor. Chu and Tai [7] discussed on

feathery pattern, light fringes (like glazing), branching

patterns, boundary roughening, and boundary darkening

(like edge darkening) as major features.

Figure 2-1, Figure 2-2 and Figure 2-3 show these effects

as described by [4] [2] [7].

Figure 2-1: Features identified by DiVerdi et al: edge darkening (A),nonuniform pigment density (B), granulation (C), rewetting (D), back runs (E), color blending (F), feathering (G), and glazing (H).

Figure 2-2: Features shown in Curtis et al Real watercolor effects: drybrush (a), edge darkening (b), backruns (c), granulation (d), flow effects (e), and glazing (f).

Page 3: Survey on real media paint simulation in Computer Graphics

Technical Report Reviewing Papers on Real Media Painting as Graphics Application

3

Figure 2-3: Features in MoXi: Real ink effects. (a) Feathery pattern. (b) Light fringes. (c) Branching pattern. (d) Boundary roughening. (e) Boundary darkening.

3 APPROACHES TO RECREATE REAL MEDIA

PAINTING IN COMPUTERS

Digital paint systems lack many features of real media like

watercolor. Many effects of watercolor are much

appreciated by both artists and viewers and simulating

such effects in computer paint systems are very desirable.

There have been ample undertakings to recreate

watercolor like effects in images. Some tried to convert

real photo images to give watercolor like effects [6]. Yet

some approaches are to render 2-D and 3-D models non-

photorealistically to give essences of watercolor [6] [5].

Early approaches to simulate watercolor painting took

physics inspired approach [1]. Simulating all physics based

effects are very computation heavy and cannot recreate all

desirable effects. Rather some empirical approaches are

studied, to recreate effects without necessarily computing

all physical characteristics [2] [3] [4] [8] [7]. Most of these

approaches are paper based models, simulating fluid

propagation and pigment propagation, diffusion etc. Until

recent, approaches are taken to simulate water color using

cellular automaton [1] [2] [3] computes per pixel. More

recent approaches take vector based approaches [4] by

computing stamps and splats rather than per pixel,

allowing rendering in high resolution. Model based

approaches often incorporate cellular automaton too.

For fluid simulating several approaches are studied

including: Kubelka-Munk model [2], Navier-Stokes

equation [3] and Lattice Boltzmann Equation [7]. Even

biased random walk [4] is also used.

In following, approaches to simulate watercolor, other

print media, render watercolor from models and images,

simulated watercolor rendering and interaction

approaches taken by several authors are discussed.

3.1 Simulating watercolor painting

One of the earliest approach to model water color was by

David Small in 1991 [1]. His groundbreaking work

attempted to model watercolor by simulating diffusion,

pigment and paper fibers. He has taken a purely physics

based approach to recreate watercolor effects. This

approach uses cellular automata to simulate fluid

transportation.

Small have used a The Connection machine, a super

computer to simulate watercolor. Each pixel is considered

a cell and each cell is simulated by a processor dedicated

for its own. Each cell must be able to simulate by using its

own information and information about its immediate

neighbors. This method is broken into three parts: (a)

setup, (b) fluid simulation and (c) rendering.

At initial setup, each cell knows it’s on location, initial

color, absorbency, water content and pigment content.

Locations are pixel location. Each cell has its own

absorbency value for simulating paper’s absorbing

behavior. Some, global information, such as humidity,

gravity, surface tension of water, weight of pigment are

also known to each cell. Artist give paint input for the

picture to be drawn using some input method.

After initial setup, simulation run on each cells in parallel

to compute surface effects, substrate effects and paper

absorption for each time steps.

Color that are not soaked in yet undergo surface effects. A

displacement force, D, combining all forces (gravity,

surface tension, spreading force) is calculated based on

following equation:

This displacement force is used to calculate displacement

of water and pigment. Displacement for both water and

pigment is calculated from water only as Small posits that,

pigments flow equally with water. This assumption

however cannot reflect varying pigment density and

cannot recreate granulation. Following equations are used,

To give substrate effect, water and pigment infused in

paper are displaced. A gradient field, as denoted in

following equation is calculated,

Then following equations with global gravity, g, and cell

local absorbance, a, are used,

Page 4: Survey on real media paint simulation in Computer Graphics

Khan Mostafa Student ID# 109365509

4

At each time step some water and pigment is absorbed in

paper, as depicted by following formula,

Pigment absorbed in same proportion of that of water.

In the end, at third phase, simulated image is rendered

using following equations,

This early work was a very important work and could

replicate watercolor effects in semi real time. Although

using supercomputer of those days, which certainly has

much lower computation power than modern PCs, its

performance is sophisticated. Despite being unable to

simulate glazing, layers, granulation, edge darkening, and

with uniform pigment and paper density, this work has

inspired a lot of following research endeavors who have

later created more realistic watercolor simulations.

Figure 3-1: The three-layer fluid model for a watercolor wash of Curtis et al

Inspired by Small’s cellular automata, in 1997, Curtis et al

[2] composed an empirical fluid simulation based paper

model for Computer-Generated Watercolor. Their

model is empirically based and uses Kubelka-Munk model.

They simulate different washes one by one, allowing artists

to create the effect of glazing. This near-real time approach

model paper in three layers (see Figure 3-1):

The shallow-water layer —where water and pigment

flow above the surface of the paper.

The pigment-deposition layer — where pigment is

deposited onto (“adsorbed by”) and lifted

(“desorbed”) from the paper.

The capillary layer—where water that is absorbed into

the paper is diffused by capillary action.

Following quantities are involved,

The wet-area mask M, which is 1 if the paper is wet, and 0 otherwise.

The velocity u, v of the water in the x and y directions. The pressure p of the water.

The concentration gk of each pigment k in the water.

The slope ∇h of the rough paper surface, defined as the gradient of the paper’s height h.

The physical properties of the watercolor medium, including its viscosity _ and viscous drag _. (In all of our examples, we set μ_ = 0.1 and κ= 0. 01.)

Pigments are transferred between shallow water layer and pigment deposition layer by absorption and desorption. Function of capillary layer is governed with water saturation, s, and fluid holding capacity f. At first stage, paper is generated from some Gaussian pseudo random process by selecting height h for each cell such that 0 < h < 1. In shallow water layer, it is posited that, following conditions shall be satisfied,

The flow must be constrained so that water remains within the wet-area mask.

A surplus of water in one area should cause flow outward from that area into nearby regions.

The flow must be damped to minimize oscillating waves.

The flow must be perturbed by the texture of the paper to cause streaks parallel to flow direction.

Local changes should have global effects. For example, adding water in a local area should affect the entire simulation.

There should be outward flow of the fluid toward the edges to produce the edge-darkening effect.

Curtis et al use a discretized approach proposed by Foster [9] to update water velocities. However, to limit this within wet boundary, they set the velocity at the boundary of any pixel not in the wet-area mask to zero. They also relax the divergence of velocity field after each time step until some threshold. To simulate edge darkening by moving pigments outwards to edges, they remove some water at each time step according to distance from edge. Cells near edge lose water more than them in centers. Pigments are moved differently, as opposed to Small, than water using some velocity fields.

Page 5: Survey on real media paint simulation in Computer Graphics

Technical Report Reviewing Papers on Real Media Painting as Graphics Application

5

Scalar density, staining power for each cell affects pigment adsorption and desorption. At each time step, Curtis et al, compute this. They also take account, a granulation parameter, to determine how much of height effects adsorption. Capillary layer allow water flow in it. When water is applied, it goes to surrounding cells as effect of capillarity of watercolor papers. This, computation allows simulation of backruns. While rendering image, they used KM model to perform optical composition of glazing layers. Each pigment is assigned a set of absorption coefficients and scattering coefficients. These are functions of wavelengths and control opacity and transparency of colors. Different type of pigments have different types of value for this coefficients. Opaque paints have high scattering while transparent ones have low scattering. Inference paints have high scattering in similar wavelength and low on others. They have seen KM works well as some assumptions satisfy real watercolor behaviors. They listed, (a) all colorant layers are immersed in mediums of the same refractive index (b) The pigment particles are oriented randomly (c) The illumination is diffuse (d) The KM equations apply only to one wavelength at a time (e) no chemical reactions. Approach described by Curtis et al sufficiently simulates watercolor effects. This work has long lasted as milestone for such applications. However, this method is raster based and cannot simulate in higher resolution in real time. Following the work of Curtis et al, a lot of other efforts are made to improve its performance. One of them is by Van Laerhoven and Liesenborgs [3] in 2004 where they tried to somewhat enhance the work by Curtis for real time watercolor painting on distributed paper model. In this approach, they still considered a paper base, empirically inspired, fluid propagation model along with pigment advection. They also incorporated distribution of paper in several remote process to boost computational power. Following Curtis et al, they used same three paper layers: shallow layer, pigment layer and capillary layer. For shallow layer they solve Navier-Stoke equation, rather than the approach from Foster. This perform better as it is faster. This approach can also deal with thick paint, as Foster’s approach worked poorly on high viscosity paints. For pigment deposition they mostly followed Curtis et al. In capillary layer to govern water movement, to create some irregularity in the capillary diffusion process and in the paper surface they generated surface texture of the paper canvas and the water capacities of each cell are using

a method for creating procedural textures by S. Worley [10].

Figure 3-2: Schematic view of three layer paper model,. from Van Laerhoven et al. Same model as of Curtis et al.

To make simulation real time, they distributed paper in several remote processes as depicted in following Figure 3-3. They have sued LAM/MPI for message passing between remote processes. They have not only distributed simulation but also rendering. For distributing brush action, they have distributed brush attributes in segments.

Figure 3-3 Van Laerhoven, distributed paper model: A paper canvas divided in sub grids or sub papers. Each sub grid has an extra border of cells, overlapping neighboring sub grids.

They described, applying a brush to the paper canvas produces a

stroke that consists of a set of interpolated positions. At each of these

positions water, pigment and velocity values are assigned to a

collection of cells that belong to the brush pattern. These patterns now

have to be applied at a remote sub paper. All position data from the

stroke is sent to the remote sub papers to which that particular paper

position belongs. The sub papers use a copy of the original brush to

apply the pattern themselves. A position belongs to just one sub paper,

but when the brush pattern is applied, the cells of several sub papers

could be affected. In this situation, the position under consideration is

sent to each sub paper that will be affected by the application of the

brush pattern.

This approach used some changes of Curtis’s work. But it

cannot still become vastly scalable.

Page 6: Survey on real media paint simulation in Computer Graphics

Khan Mostafa Student ID# 109365509

6

In a more recent work, DiVerdi et al [4] (2012-2013)

)proposed a vector based model. They have also deviated

from using physics based simulation further by using

rather more empirical approach which is inspired by actual

water color characteristics. They proposed Painting with

Polygons for a Procedural Watercolor Engine. A major

drawback of earlier works were that, they were

computationally very heavy. This came from two reasons

– (1) raster based simulation of whole canvas (2) attempts

to exactly replicate watercolor. DiVerdi et al took several

intuitions,

Watercolor strokes effects generally sparse

Specific path taken by pigment can be much

realistically replicated by random walk which creates

similar result as achieved by more complex method

The algorithm adopts a sparse representation to model

watercolor strokes and uses random walk to update

position in each time step. Paint pigments are represented

as “splat” particles – each being a complex polygon of n

vertices. The algorithm has four major operations:- Paint

Initialization, Pigment Advection, Sampling Management,

Lifetime Management.

At first, stroke input is recorded by placing stamps in

uniform length increment along the stroke path. Stamps

are set of splats which store age, flow and several other

attributes. At each stamp, water are also placed on canvas

and stored separately as rasterized 2D grid of cells called

water-map.

Secondly, splats are advected at each time step embodying

biased random walk behavior. Vertex’s own velocity,

splat’s bias velocity, water velocity, paint viscosity,

roughness of canvas media and gravity are modeled at this

point. These helps to achieve branching and roughening

aspects of watercolor.

Following equations used,

Here, d is displacement calculated. A tuning parameter α

is used with a value =0.33. This tunes the effect of global

force fields and local force fields. Forces acting on a splat

is shown in Figure 3-4.

Figure 3-4: Splat as in DiVerdi et al. (left) forces acting on a splat, (center) advected splat (right) after sampling management

Over time, different advection directions may create

unrealistically straight hard edges due to local

undersampling. This artifact is dealt by the third operation,

by resampling the splat. Two approaches can be taken,

Constrained vertex motion

Vertex cannot move too far from its

neighbor vertices of same splat

Periodic resampling of splat boundary

Compute total perimeter

Arc length per vertex is computed

Vertices moved to maintain uniform arc

length

Boundary resampling is shown in Figure 3-4.

Fourth operations is lifetime management. Here, a splat

has three stages of life: flowing, fixed and dried. Initially a

splat is flowing; after certain steps (age) they are fixed –

but can potentially be rewetted to resume advection. After

a certain period the splat is dried and then rasterized into

dry pigment buffer and removed from the simulation.

Rewetting helps to achieve effects like back runs and

feathered edges. Lifetime management also mimics water

flow, granulation and other watercolor affects.

The paper represents a way to implement brush types to

reproduce a variety of watercolor characteristics. It

demonstrates five brush types.

To summarize, all four operations of the algorithm and

brush types achieves common watercolor effects, such as,

color blending, feathering, edge darkening, non-uniform

pigment density, granulation, back runs, rewetting, glazing

etc.

Page 7: Survey on real media paint simulation in Computer Graphics

Technical Report Reviewing Papers on Real Media Painting as Graphics Application

7

Brush types can be achieved by varying several parameters

as described below.

Different arrangement of splat per stamp

Different brush parameter settings

Target width, w

Initial wet at wet map (=255)

Splat life (l= initial a)

Roughness, r

Flow, f

Examples,

Simple

• Single splat, d=w, b = <0,0>

Wet on dry

• 7 splats, central splat bias = <0,0>, d=w/2

• Perimeter splat bias = ‹𝑑

2cos 𝜃,

𝑑

2sin 𝜃›

Wet on wet

• Small splat (d=w/2) inside large splat (3w/2)

• r=5, l=15, b=<0,0>

Blobby

• Randomly sized 4 splats, l=15, b=<0,0>

Crunchy

• 1 splat, r=5, f=25, l=15

Figure 3-5 shows these brush types.

Figure 3-5: Brush types exemplified in DiVerdi et al (left to right: simple, wet on dry, wet on wet, blobby, crunchy).

The authors have also implemented a commercial

application which performs well in real time in low end

devices. This method can also recreate most water color

effects without requiring very high computation.

For rendering purposes, they suggested using OpenGL

facilities. They suggested using two pass stencil buffer per

splat. For anti-aliasing, they suggested using post

processing after full rendering to reduce computation cost.

This approach, also have some limitations. Splats are used

for live strokes. This vector representation might use up a

lot of memory and computation time, when drawing start

to use a lot of live strokes. Although, to limit this, they

have rasterized dried splats to avoid re-computing stable

splats each time step.

3.2 Watercolor effects in model rendering and

real photos

In previous section, several watercolor painting

simulations are discussed. However, watercolor effects are

desirable in many other situations. Even, earliest

approaches to recreate watercolor in computers adopted

applying filters on real photos. Later, demand for non-

photorealistic rendering in many applications has also

created demand for watercolor effects in 3-D and 2-D

modeled still images and even in animations.

One such work is done by Bousseau et al [6] in 2006

suggesting an approach for Interactive watercolor

rendering with temporal coherence and abstraction.

This work is largely inspired by cellular automaton of

Small’s approach and used fluid simulation technique that

are comparable to that used by Curtis et al.

For a single image, the use a pipeline as depicted in Figure

3-7.

Bousseau et al describes method for (1) Static image

rendering and (2) rendering animations.

To render a static image with watercolor effects, they

described two major steps (a) Watercolor Effects and (b)

Abstraction.

The input in the pipeline is an image rendered from a

model or a real photo. They apply watercolor effects on

this input. They posit, main watercolor feature is color

variations. To do so, they modify the color of objects.

Page 8: Survey on real media paint simulation in Computer Graphics

Khan Mostafa Student ID# 109365509

8

Figure 3-6: Static pipeline in Bousseau et al: This pipeline takes as input either a 3d model or a photograph, the input is then processed in order to obtain an abstracted image and finally watercolor effects are applied to produce a watercolor-like image.

User can chose a base color density for a model object.

This color is said to have a density d. At first model object

has uniform density color, C. Then, color is modified

continuously. This can be done using full simulation of

cellular automaton. But they showed that same

phenomenological features can be achieved by simply

varying color density, d, over the model surface. They

relatively increase or decrease d over uniform color C to

replace them with C’ as computed using equation,

𝐶’ = 𝐶(1 − (1 − 𝐶)(𝑑 − 1)

Color density variation is shown in Figure 3-7

Figure 3-7: From Bousseau et al: Darkening and lightering of Color using density

Pigment density variation is achieved applying three layers

to simulate different types of pigment density flows:

turbulent flow, pigment dispersion and paper variations.

Instead of physical simulations, each layer is a gray-level

image whose intensity gives the pigment density as

follows: An image intensity of T = [0:1] yields a density d

= 1+b (T – 0.5), which is used to modify the original color

using formula shown above. b is a global scaling factor

used to scale the image texture values and allow arbitrary

density modifications. The three effects are applied in

sequence using per pixel using a pixel shader and each can

be controlled. The paper layer is applied on the whole

image but the other layers are applied only on the object

projection. They allowed user to choose freely any kind of

gray-level textures for each layer though mentioned that

Perlin noise textures for the turbulent flow, a sum of

Gaussian noises at various scales for pigment dispersion

and scanned papers for the paper layer works well.

They have also some techniques to apply for achieving

Edge darkening, wobbling and dry brush feature.

However, they mentioned that, dry brush is not very useful

in practical cases.

They main “magic” of their method is achieved from

abstraction. They used Toon shading [11] for models to

get discrete colorizations. In 3-D illumination model, they

suggested to apply normal smoothing before computing

illumination. These abstraction will reduce a great deal or

details, which is not seen in real watercolor images. Thus,

abstraction will help to get more watercolor like rendering.

For real photos, to do abstraction, they apply

morphological smoothing by using a sequence of opening

and closing fitters. This will create blob area of certain

“brush size”.

For animation, temporal coherence in necessary. To

achieve such, they mention two methods. In one

approach, they decompose possible movements along z

axis and attach multiple pigment texture in object space.

Another approach for real time rendering of watercolor

effects for virtual environment is done by Lei &Chang

[5] in 2004. A diagram for this model is shown below.

Figure 3-8: System diagram for Lei & Chang

This approach has two major components, color band

specifying and watercolor shader. Color band specifying is

done in a similar fashion that of Curtis et al using KM

model for optical mixing of pigments. They described user

interaction for choosing pigments from a provided

pigment library.

Page 9: Survey on real media paint simulation in Computer Graphics

Technical Report Reviewing Papers on Real Media Painting as Graphics Application

9

The other major part: watercolor shader has vertex shader

and fragment shader. For vertex shader, a shader similar

to Toon Shader [11] is used. This is run twice, one for

RGB and once for alpha layer with granulation

information. Color map and granulation map generated

here is then fed to fragment shader. Fragment shader

processes this maps to create a watercolor styled image.

Paper texture is also simulated by using a provided paper

texture or generated texture. Wobbling effect is gained by

distorting color map with paper texture. Then they apply

Sobel filter on color map. This creates the final image.

3.3 Simulating other fluid media painting

Several other real media display similar features of

watercolor. One is Chinese ink, as noted in section 2.2. In

2005 Chu & Tai [7] attempted to simulate Real-Time Ink

Dispersion in Absorbent Paper and brought up an

approach named MoXi. This is a paper based fluid flow

model, which used Lattice Boltzmann equation (LBE) to

simulation percolation of water in disordered media.

Conceptually this work is based on a modification of

Curtis’s work. But for fluid simulation they neither used

Curtis’s approach, nor used then common N-S equation.

They found LBE to be more appealing as it doesn’t use

Poisson equations and all operations are simple and local

and it easily incorporate microscopic physics. However,

they had to modify LBE in several stages. They used

D2Qp lattice model. In each time step, for each lattice

space, streaming flow to net lattice site and colliding flow

arriving from neighbors are considered. They also

incorporated a relaxation parameter, similar to some other

approaches. This relaxation parameter tunes the elasticity

if ink (or paint media/color).

For ink dispersion simulation, they avoided using strict

physics simulation and attempted to design a unified

model capturing essences of physical models, yet keeping

it computationally feasible. To do this, they proposed a

three layer paper model – with surface layer, flow layer and

fixed layer. Note that, these layers are different from

original Curtis et al and other extended approaches.

Ink and water is deposited on surface layer using brushes.

Fluid simulation is not done in this layer. Only, pigments

are deposited from surface layer to flow layer. Until, all

pigment is absorbed in the paper, surface layer act as a

reservoir for pigments and water. Ink is allowed to deposit

under certain conditions. Each lattice site has capacity.

And in flow layer, each lattice has current water density,

receptivity parameter and mask. From this, first it is

checked if the lattice is saturated (i.e. holds water equal to

a certain threshold). If it not saturated then, an amount of

water and ink is deposited.

For water percolation, permeability and viscosity is

accounted. For each lattice site, a blocking factor κ is

associated. Value of κ can simulate various media effects.

For ink media, they used half way bounce back scheme

and used an averaged κ when calculated flow between two

nearby lattices points. This average is the mean of κ for

both lattice points. This guarantees conserving

momentum and density. For each lattice site κ is calculated

from grain texture and alum texture using a provided formula. Grain texture is created from scanned real paper and alum texture is generated using some random distribution function. Another consideration is glue factor. Inks can be more or less elastic, chosen by artist. However, the relaxation parameter do not work well with glue = 1. Because it will not allow flow of stream. To solve this

problem, authors modulated κ with glue.

The LBE model was originally designed for situations where the simulated fluid fills the whole domain, but in MoXi, a spars space is filled with air. Air is regarded to be zero valued. This causes non-zero density in some cases and let LBE not work properly. To avoid the unphysical situation of negative density from happening altogether, we modify the basic LBE to reduce the strength of the advection when the density is low. The rationale is that the advection of water drops in less saturated areas.

Another consideration was boundary pinning. Boundary pinning is an effect where ink do not flow from wet regions to dry regions. Only in few place de-pinning happens where water pressure is enough to overcome pinning. This effect is simulated with a simple approach. A site is considered to be pinning if it is fry and water density at each of its eight neighbors is below a certain threshold.

Pigment advection is done using similar approach as other methods.

Pigments are gradually transferred from low layer to fixed layer as ink dries. They used an algorithm that follow conditions: (1) the transfer rate is higher when the strokes become drier, (2) the transfer rate is higher when the glue is more concentrated, and (3) all pigments are settled when a stroke dries.

They investigated high quality rendering of images created using MoXi simulation. Although, image is simulated in lox screen resolution, they suggested that high quality approximation is done using image methods. This will

Page 10: Survey on real media paint simulation in Computer Graphics

Khan Mostafa Student ID# 109365509

10

create boxed boundaries in certain parts of the image. Such artifact is reduced using boundary trimming.

In another recent approach You et al studied Realistic paint simulation based on fluidity, diffusion, and absorption which also focuses on fluid based real media paints including watercolor and oil paints. They tried to simulate real paint process using basic fluid simulation. They also included the concept of viscoelasticity.

Figure 3-9: Graphical illustration of You et al’s system. The degree of

solidity of the green circles indicates the degree of concentration

They have simulated fluid transfer. Here, a particular

quantity of paint is carried and this is calculated using self

and neighbor information.

The pigments in the paint are diffused in the solvent by

mass transfer. Unlike momentum transfer, which is driven

by velocities, mass transfer is mainly driven by

concentration differences. Therefore, paint diffusion can

occur even in a stationary fluid. The transport of one

constituent in a region of higher concentration to one of

lower concentration minimizes the concentration

difference within a system. When paint solvent and paper

touch each other paint solvents get absorbed in paper, this

causes permanent staining.

This approach is claimed to re-create several real media

like acrylic paints, watercolor etc. by varying parameters.

4 CONCLUSION

Several works about real media paint simulation is

surveyed in this report. The earliest work studied is a

significant one as Samll [1] tried to simulate underlying

physics of watercolor. His approach used a

supercomputer, which perhaps can be programmed in a

normal PC. However, for paucity of resources, hos

approach could only simulate partial natures of watercolor

like fluid flow. It is though a near real time (2-10 times

slower than real time). This strictly physics based model

could not capture gazes, granulation, edge darkening etc.

major watercolor effects.

Next work [2]studied, by Curtis et al, simulates watercolor

impressively by modeling underlying real water and

pigment flow in a paper model. This approach is physics

inspired empirical approach with cellular automata based

fluid simulation and KM model based optical

computation. However, this method cannot work in full

real time and an interactive user paint application could

not be built right away. Hence, several approaches were

made to make some faster extension of this work. The

method presented by Van Laerhoven and Liesenborgs [3]

somewhat runs in real time by distributing computation

load on several remote processes. They also used faster N-

K equation for flow simulation. However, this work is not

sophisticated enough to build commercial applications.

DiVerdi et al [4] exploited several intuitive feature of

watercolor to reduce computation load to a minimal so

that a real time interactive simulation can be run even on

portable computing devices. They also have released a

commercial application which received positive user

feedback. They have avoided physics based simulation and

empirically mimicked watercolor features by using biased

random walk model and yet achieved believably realistic

watercolor effects.

It can be noted that, Curtis et al have achieved a high level

of approximation to real watercolor. Later investigations

concentrated more on reducing computation load and

applying computer generated watercolor in different

applications.

MoXi [7] simulates Chinese ink, which display similar

effects of water color. MoXi has a real time

implementation which simulates a lot of Chinese ink

features. This work has laid some inspiration for DiVerdi

et al’s work as well. Another recent work by You et al [8]

simulates a wider range of paint media by replicating

fluidity and other paint features. This work is mostly

physics based and computation heavy. Yet, it cannot

recreate all desirable real media features. To be exact, a

single model cannot successfully simulate all features for

various media. Again, empirical model shall better be used

to reduce computational complexity.

Works to render 3-D, 2-D models as watercolor styled

images show satisfactory result. Creating watercolor styled

images from models has certain advantages. Again they

come with some challenges, especially while rendering for

animations. A major artifact in watercolor like rendering

in animation is “shower door”. Bousseau et al [6] have

successfully outlined methods to face these challenges.

Page 11: Survey on real media paint simulation in Computer Graphics

Technical Report Reviewing Papers on Real Media Painting as Graphics Application

11

Their pipeline for creating watercolor image from real

photo also demonstrates believable outcomes. Lei &

Chang [5] described an automated approach for image

rendering from model – which also perform satisfactorily.

A long history of many approaches from various

researchers have brought into a phase where now real-time

paint application for watercolor is possible and watercolor

like animations can be made. This works are not yet

perfect. Mostly empirical approaches can approximate real

media paint behaviors but cannot exactly recreate them.

Interaction between user and computer (HCI) for better

painting experience is also necessary. Hence, there would

be more opportunities to investigate and improve these

approaches. Even some novel, groundbreaking work

might emerge to enhance experience and quality.

5 BIBLIOGRAPHY

[1] D. Small, "Simulating watercolor by modeling

diffusion, pigment, and paper fibers," in Electronic

Imaging'91, San Jose, CA, 1991.

[2] C. J. Curtis, S. E. Anderson, J. E. Seims, K. W.

Fleischer and D. H. Salesin, "Computer-generated

watercolor," in Proc. ACM SIGGRAPH, 1997.

[3] T. Van Laerhoven, J. Liesenborgs and F. V. Reeth,

"Real-time watercolor painting on a distributed

paper model," in Computer Graphics International, 2004.

Proceedings, 2004.

[4] S. DiVerdi, A. Krishnaswamy, R. Mech and D. Ito,

"Painting with Polygons: A Procedural Watercolor

Engine," IEEE Transactions on Visualization and

Computer Graphics, Vols. 19, no. 5, pp. 723-735, 2013.

[5] S. I. E. Lei and C.-F. Chang, "Real-time rendering of

watercolor effects for virtual environments," in

Advances in Multimedia Information Processing-PCM,

2004.

[6] A. Bousseau, M. Kaplan, J. Thollot and F. X. Sillion,

"Interactive watercolor rendering with temporal

coherence and abstraction," in Proceedings of the 4th

international symposium on Non-photorealistic animation

and rendering, 2006.

[7] N. S.-H. Chu and C.-L. Tai, "MoXi: Real-Time Ink

Dispersion in Absorbent Paper," ACM Transactions

on Graphics (TOG), vol. 24, no. 3, pp. 504-511, 2005.

[8] M. You, T. Jang, S. Cha, J. Kim and J. Noh,

"Realistic paint simulation based on fluidity,

diffusion, and absorption," Computer Animation and

Virtual Worlds, vol. 24, no. 3-4, pp. 297-306, 2013.

[9] D. N. M. Nick Foster, "Realistic Animation of

Liquids," 1996.

[10] S. Worley, "A cellular texture basis function," in

SIGGRAPH, 1996.

[11] A. Lake, C. Marshall, M. Harris and M. Blackstein,

"Stylized rendering techniques for scalable real-time

3D animation," in Proceedings of the 1st international

symposium on Non-photorealistic animation and rendering,

2000.