Style Surface Illustration with B- Spline Models James Mower - - PowerPoint PPT Presentation

style surface illustration with b spline models
SMART_READER_LITE
LIVE PREVIEW

Style Surface Illustration with B- Spline Models James Mower - - PowerPoint PPT Presentation

Supporting Automated Pen and Ink Style Surface Illustration with B- Spline Models James Mower University at Albany Perspective Landscape Rendering Demonstrated in Tuscan landscape paintings by da Vinci Extended to woodcuts in the 16


slide-1
SLIDE 1

Supporting Automated Pen and Ink Style Surface Illustration with B- Spline Models

James Mower University at Albany

slide-2
SLIDE 2
  • Demonstrated in Tuscan landscape paintings

by da Vinci

  • Extended to

woodcuts in the 16th century by Murer and

  • thers

Perspective Landscape Rendering

Section of Map of Zurich, Murer, 1566 Study of a Tuscan Landscape, Da Vinci, ca. 1473

slide-3
SLIDE 3

Geomorphological Illustrators

slide-4
SLIDE 4

Automating Pen and Ink Illustration

  • Apply a non-photorealistic rendering (NPR)

approach

  • Use an “economy of lines”

– Markosian and others, 1997

  • Depict the essential form of an object using a

minimal number of strokes

slide-5
SLIDE 5

Linework

  • Landscape features

are represented with 2 types of linework

– Silhouettes

  • Boundaries between

visible and invisible surfaces

– Form Lines

  • Surface trends

W.M. Davis

slide-6
SLIDE 6
  • More samples, less interpolation
  • TIN
  • Polyhedron
  • Interpolated values lie on plane
  • Fewer samples, more interpolation
  • “Global” polynomial functions of order p
  • Polynomial patches of order p
  • Interpolated values evaluate to degree p-1 surface

Representing Elevation

slide-7
SLIDE 7

But Which Is Best?

  • Manual pen and ink style landscape

illustrations usually depict low noise surfaces

  • Dense sampling models have lots of noise
  • Some NPR techniques are sensitive to noise

– Can generate numerous junk silhouettes

  • Bezier surface models supress noise and are

good candidates for NPR support

slide-8
SLIDE 8

Surface Noise and Silhouettes

slide-9
SLIDE 9

Bezier Surface Models

  • A Bezier surface is described by control points
  • Its order in u and v equals the number of

control points along the respective axes

  • Each control point is associated with a basis

function

  • The basis function determines the control

point’s influence on the surface at position u,v

slide-10
SLIDE 10

A Bezier Surface

A degree 3 by degree 3 Bezier Surface

Generated from a Java applet created by David Little, Department of Mathematics, Penn State

slide-11
SLIDE 11

A Problem with Bezier Surfaces

  • Evaluation times increase exponentially with

the number of control points

  • Computations on large numbers of control

points can lead to numerical overflow

  • Solution—B-Spline surfaces

– A patchwork of low order Bezier surfaces – Stitched together at their edges with continuous joins

slide-12
SLIDE 12

B-Spline Surface Model

  • Composed of local ‘basis’ functions that only

contribute within a given ‘knot span’

  • The continuity at the joins is determined by:

– The degree of the basis functions in u and v – The number of duplicate knot values at the join

  • This project uses degree 3 basis functions with

2 times differentiability at the joins

slide-13
SLIDE 13

A B-Spline Surface

10 degree 3 by degree 3 patches are stitched together with 2 times differentiability at patch borders

slide-14
SLIDE 14

Surface Tessellation

  • Polynomial surfaces are rendered as a set of

planar facets (a tessellation)

  • The facets should cover about

the same screen space, regardless of their position in the world

  • The OpenGL B-spline rendering functions

enforce this criterion

slide-15
SLIDE 15

Gray Shaded B-Spline Surface

Rendering this surface in emissive white makes it a useful surface mask for silhouette and form line rendering

slide-16
SLIDE 16

Surface Processing Environment

  • OpenGL

– NURBS (non-uniform, rational B-spline) package

  • CGAL

– Computational Geometry and Algorithms Library – Triangulation facilities – Useful geometric modeling operations and primitives

  • Written in C++ for MS Windows
slide-17
SLIDE 17
slide-18
SLIDE 18

Extracting Silhouettes

slide-19
SLIDE 19

Silhouettes and a Masking Surface

slide-20
SLIDE 20

Defining Form Lines

  • A form line shows a surface trend
  • Form lines can be defined globally or locally
  • This project defines a form line segment as a

line of steepest descent from one vertex to an adjacent neighbor

– Form lines are visual composites of locally generated segments

slide-21
SLIDE 21

The Form Line Model

The weighted illumination and slope components control shading for a surface facet

slide-22
SLIDE 22

Using Drainage Accumulation Models

  • Lines of steepest descent are assembled into a

stream network

  • Each branch of

the network has a stream order

  • Segments can

be displayed or hidden by order

Simulated Effect

slide-23
SLIDE 23

Form Line Example

slide-24
SLIDE 24

Rendering Parameters

  • Illumination azimuth and altitude
  • Position and attitude of the viewpoint
  • Variable form line width with slope and

illumination angles

  • Form line display by stream order
  • Adjustable weighting of all parameters
slide-25
SLIDE 25

Varying Illumination Azimuth

72 images, illumination azimuth rotating through 360 degrees at 5 degrees per image West Temple feature, Zion National Park

slide-26
SLIDE 26

Level of Detail Varies with the Viewpoint Position

100 still images on an 8 km flight path

slide-27
SLIDE 27

When Less is More

  • This W.M. Davis image uses very few strokes
  • The following slide

shows how a landscape can be rendered with fewer strokes

slide-28
SLIDE 28

A Low Relief Environment

  • This is from a coastal scene in Labrador

– DEM provided by Rudy Slingerlands at Penn State

  • Not as minimal as Davis, but getting there…
slide-29
SLIDE 29

Performance Issues and a New Approach

  • Building silhouette and drainage models with

CGAL from NURBS models is very slow

– The Utah images take 5 to 10 minutes per frame

  • New OpenGL versions allow tessellation

control with shader programs

  • Shader programs run on the GPU and can be

very fast

slide-30
SLIDE 30

Preliminary GPU Results

  • Now doing B-spline modeling on the GPU
  • Silhouettes are interpreted as borders

between rendered pixels generated from non 3D-contiguous parent triangles

  • Speeds are approaching animation time scale
slide-31
SLIDE 31

Thanks for Coming!

  • A couple recent papers are at

http://www.albany.edu/faculty/jmower/geog/ publications/

  • Any questions?