Title: Painterly Rendering with Curved Brush Strokes of Multiple Sizes
1Painterly Rendering with Curved Brush Strokes of
Multiple Sizes
- 2003. 04. 17
- Graphics Media Research Lab
- 3rd S. J. Kim
2- Aaron Hertzmann, Painterly Rendering with Curved
Brush Strokes of Multiple Sizes, SIGGRAH 98
Conference proceedings
3Abstract
- Multiple rendering passes
- Larger strokes first
- Add detail with smaller strokes
- Curved brush strokes
- Makes different styles possible
- A style
- An intuitive set of parameters to the painting
algorithm that a designer can adjust to vary the
style of painting
4PAINTING TECHNIQUES
5Varying the brush size
- Begin a painting as a rough sketch ? small brush
(to add detail) yields desirable visual
effects
6- Algorithm
- Largest to smallest
- The initial canvas is a constant color image
fs some constant factor
7(No Transcript)
8- A jittered grid
- They search each grid points neighborhood to
find the nearby point with the greatest error,
and paint at this position - All strokes for the layer are planned at once
before rendering
9- The following formula for color difference is
used to create the difference image - (r1, g1, b1) (r2, g2, b2) ((r1
r2)2 (g1 g2)2 (b1 b2)2)1/2 - Z-buffer avoid the overhead of storing and
randomizing a large list of brush strokes - makeStroke() in the right code listing is a
generic procedure that places a stroke on the
canvas beginning at (x1, y1), given a reference
image and a brush radius. fg is a constant grid
size factor.
10(No Transcript)
11Creating curved brush strokes
- A method for painting long, continuous curves
- Focus on painting solid strokes of constant
thickness to approximate the coloration of the
reference image - An element
- Color thickness
- Dragging a circular brush mask along the sweep of
the spline - In the system
- Limit brush strokes to constant color
- Use image gradients to guide stroke placement
12- Algorithm
- Begin (x0, y0) with brush radius
- Represented as a list f control points, a color,
and a brush radius - (x0, y0) added to the spline
- The color of the reference image at (x0, y0) is
used as the color of the spline - Exaggerate or reduce the brush stroke curvature
by applying an infinite impulse response filter
to the stroke directions - Previous stroke direction
- Di-1 (dxi-1, dyi-1)
- A current stroke direction
- Di (dxi, dyi)
13Di fcDi(l-fc)Di-1(fcdxi(1-fc)dxi-1,
fcdyi(1-)dyi-1)
The filter is controlled by a single
predetermined filter constant, fc.
14RENDERING STYLES
15- In order to quantify the notion of painterly
styles, we propose the use of style parameters to
control the rendering process - Parameter
- Provide an intuitive way to vary visual qualities
of the painting
16- Intuitiveness
- correspond to a visual quality of the painting.
- intuitive to an artist without any technical
computer knowledge. - Consistency
- Styles should produce the same visual character
for different images. - Robustness
- Each parameter should produce reasonable results
over a predetermined range, without breaking
for some values. - Independence
- Style parameters should be independent of one
another.
17Some Style Parameters
- Approximation threshold (T)
- Brush sizes
- Smallest brush radius (R1)
- Number of Brushes (n)
- Size Ratio (Ri1/Ri)
- Curvature Filter (fc)
- Blur Factor(fs)
- Minimum and maximum stroke lengths
- Opacity (a)
- Grid size (fg)
- Color Jitter hue (jh), saturation (js), value
(jv), red (jr), green (jg), blue (jb) color
components
18Experiments
- The styles are defined as follows.
- Impressionist A normal painting style, with
no curvature filter, and no random color. T
100, R(8,4,2), fc1, fs.5, a1, fg1,
minLength4, maxLength16 - Expressionist Elongated brush strokes.
Jitter is added to color value. T 50,
R(8,4,2), fc.25, fs.5, a.7, fg1,
minLength10, maxLength16, jv.5 - Colorist Wash Loose, semi-transparent brush
strokes. Random jitter is added to R, G, and B
color components. T 200, R(8,4,2), fc1,
fs.5, a.5, fg1, minLength4, maxLength16,
jrjgjb.3 - Pointillist Densely-placed circles with
random hue and saturation. T 100, R(4,2),
fc1, fs.5, a1, fg.5, minLength0,
maxLength0, jv1, jh.3. (This is similar to the
Pointillist style provided by 22.)
19(No Transcript)
20Applying different painterly styles. Left column
Impressionist. Middle column Expressionist.
Right column Colorist Wash. Note that the
styles have a consistent visual appearance when
applied to different images.
21Applying different painterly styles. Left column
Impressionist. Middle column Expressionist.
Right column Colorist Wash. Note that the
styles have a consistent visual appearance when
applied to different images.
22Interpolating rendering styles. Images (a) and
(c) are rendered in the Colorist Wash and
Pointillist styles, respectively. The average
of their parameters was used to produce the style
for (b). (The number of layers (n) was rounded up
to 3.)