survey on real media paint simulation in computer graphics
DESCRIPTION
A survey on real media paint simulation in Computer GraphicsTRANSCRIPT
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.
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).
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,
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.
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.
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.
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.
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.
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
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.
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.