Real-Time Rendering of Water Surfaces with Cartography-Oriented - - PowerPoint PPT Presentation

real time rendering of water surfaces with cartography
SMART_READER_LITE
LIVE PREVIEW

Real-Time Rendering of Water Surfaces with Cartography-Oriented - - PowerPoint PPT Presentation

Real-Time Rendering of Water Surfaces with Cartography-Oriented Design 9 th International Symposium on Computational Aesthetics in Graphics, Visualization, and Imaging Amir Semmo 1 Jan Eric Kyprianidis 2 Matthias Trapp 1 Jrgen Dllner 1 1


slide-1
SLIDE 1

Real-Time Rendering of Water Surfaces with Cartography-Oriented Design

9th International Symposium on Computational Aesthetics in Graphics, Visualization, and Imaging Amir Semmo 1 Jan Eric Kyprianidis 2 Matthias Trapp 1 Jürgen Döllner 1

1Hasso-Plattner-Institut, Germany 2TU Berlin, Germany

slide-2
SLIDE 2

Overview

1) Motivation 2) Design Principles 3) System Overview 4) Method 5) Results 6) Questions

2

www.hpi3d.de Semmo et al.

slide-3
SLIDE 3

MOTIVATION

slide-4
SLIDE 4

State-of-the-Art Water Rendering

◮ computer-generated illustrations of water surfaces mainly based on photorealistic rendering ◮ but have neglected the challenges water surfaces exhibit for map design ◮ how to ease orientation, navigation, and analysis tasks within 3D geovirtual environments? ◮ challenges: emphasize land-water interface, consider figure-ground relations, express motion

CryEngine 3 Google Earth

Cartographers developed design principles that address these challenges 4

www.hpi3d.de Semmo et al.

slide-5
SLIDE 5

State-of-the-Art Water Rendering

◮ computer-generated illustrations of water surfaces mainly based on photorealistic rendering ◮ but have neglected the challenges water surfaces exhibit for map design ◮ how to ease orientation, navigation, and analysis tasks within 3D geovirtual environments? ◮ challenges: emphasize land-water interface, consider figure-ground relations, express motion

CryEngine 3 Google Earth

Cartographers developed design principles that address these challenges 5

www.hpi3d.de Semmo et al.

slide-6
SLIDE 6

Visualization of 3D Virtual Environments with Cartography-Oriented Design

Cartographic Design

The visualization of geospatial features using a map-like representation that considers its purpose and the target audience. 6

www.hpi3d.de Semmo et al.

slide-7
SLIDE 7
slide-8
SLIDE 8

DESIGN PRINCIPLES

slide-9
SLIDE 9

Design Principles – Waterlining

◮ became popular in the first half of the 20th century for lithographed maps ◮ fine solid lines are drawn parallel to shorelines with gradually increasing spaces ◮ waterlining provides dynamism and communicates distance information

9

www.hpi3d.de Semmo et al.

slide-10
SLIDE 10

Design Principles – Water Stippling

◮ small dots aligned to shorelines with non-linear distance ◮ contrary to traditional artwork, stipples have a varying density and irregularly overlap ◮ varying density to depict flow velocity or at occluded areas to enhance depth cues

10

www.hpi3d.de Semmo et al.

slide-11
SLIDE 11

Design Principles – Hatching & Vignetting

◮ individual strokes placed with high density near shorelines complemented by loose lines ◮ drawn excessively wavy with increasing irregularity towards middle stream to express motion ◮ non-feature-aligned cross-hatches for land-water-distinction, coastal vignettes

11

www.hpi3d.de Semmo et al.

slide-12
SLIDE 12

Design Principles – Thematic Visualization: Annotation / Symbolization

◮ names depicted with italic (slanted) letters, following principal curvature directions ◮ irregular placement of signatures with area-wide coverage to communicate water features ◮ placement of glyphs (e.g., arrows) along streamlines to symbolize flow direction of rivers

12

www.hpi3d.de Semmo et al.

slide-13
SLIDE 13

SYSTEM OVERVIEW

slide-14
SLIDE 14

System Overview

surface masking

Water Surfaces Euclidean Distance Local Orientation Medial Axis

Feature-aligned Distance

3D Models

iterate over water surfaces

Strokes Glyphs

Cartography-Oriented Shading Quantitative Surface Analysis Texture Features

Hatches Water Stippling Waterlining Contour- Hatching Cross-Hatching

texture mapping

Labels

Output

Model Input & Masking 14

www.hpi3d.de Semmo et al.

slide-15
SLIDE 15

System Overview

surface masking

Water Surfaces Euclidean Distance Local Orientation Medial Axis

Feature-aligned Distance

3D Models

iterate over water surfaces

Strokes Glyphs

Cartography-Oriented Shading Quantitative Surface Analysis Texture Features

Hatches Water Stippling Waterlining Contour- Hatching Cross-Hatching

texture mapping

Labels

Output

Quantitative Surface Analysis 15

www.hpi3d.de Semmo et al.

slide-16
SLIDE 16

System Overview

surface masking

Water Surfaces Euclidean Distance Local Orientation Medial Axis

Feature-aligned Distance

3D Models

iterate over water surfaces

Strokes Glyphs

Cartography-Oriented Shading Quantitative Surface Analysis Texture Features

Hatches Water Stippling Waterlining Contour- Hatching Cross-Hatching

texture mapping

Labels

Output

Cartography-Oriented Shading & Texture Features 16

www.hpi3d.de Semmo et al.

slide-17
SLIDE 17

System Overview

surface masking

Water Surfaces Euclidean Distance Local Orientation Medial Axis

Feature-aligned Distance

3D Models

iterate over water surfaces

Strokes Glyphs

Cartography-Oriented Shading Quantitative Surface Analysis Texture Features

Hatches Water Stippling Waterlining Contour- Hatching Cross-Hatching

texture mapping

Labels

Output

Process Iteration & Texture Mapping 17

www.hpi3d.de Semmo et al.

slide-18
SLIDE 18

METHOD

slide-19
SLIDE 19

Method – Data Input & Euclidean Distance Transform

◮ input: 2D or 3D water surfaces defined as polygons or triangular irregular networks

Input

19

www.hpi3d.de Semmo et al.

slide-20
SLIDE 20

Method – Data Input & Euclidean Distance Transform

◮ input: 2D or 3D water surfaces defined as polygons or triangular irregular networks ◮ using orthographic projections, the models’ shape are captured in 2D binary masks

Input

20

www.hpi3d.de Semmo et al.

slide-21
SLIDE 21

Method – Data Input & Euclidean Distance Transform

◮ input: 2D or 3D water surfaces defined as polygons or triangular irregular networks ◮ using orthographic projections, the models’ shape are captured in 2D binary masks ◮ distance transform to obtain minimum Euclidean distance of each pixel to a shoreline

Input Shoreline Distance

21

www.hpi3d.de Semmo et al.

slide-22
SLIDE 22

Method – Data Input & Euclidean Distance Transform

◮ input: 2D or 3D water surfaces defined as polygons or triangular irregular networks ◮ using orthographic projections, the models’ shape are captured in 2D binary masks ◮ distance transform to obtain minimum Euclidean distance of each pixel to a shoreline ◮ “Parallel Banding Algorithm” [Cao et al., I3D 2010] obtains distance map in real-time [CUDA]

Input Shoreline Distance

22

www.hpi3d.de Semmo et al.

slide-23
SLIDE 23

Method – Data Input & Euclidean Distance Transform

◮ input: 2D or 3D water surfaces defined as polygons or triangular irregular networks ◮ using orthographic projections, the models’ shape are captured in 2D binary masks ◮ distance transform to obtain minimum Euclidean distance of each pixel to a shoreline ◮ “Parallel Banding Algorithm” [Cao et al., I3D 2010] obtains distance map in real-time [CUDA]

Input Shoreline Distance Shoreline Direction

23

www.hpi3d.de Semmo et al.

slide-24
SLIDE 24

Method – Local Orientation Estimation & Medial Axes Computation

◮ smoothed structure tensor with eigenanalysis to

  • btain stable estimates of local orientation

[Brox et al., 2006]

◮ used to derive medial axes for aligning design

elements (e.g., labels) along middle stream

24

www.hpi3d.de Semmo et al.

slide-25
SLIDE 25

Method – Local Orientation Estimation & Medial Axes Computation

◮ smoothed structure tensor with eigenanalysis to

  • btain stable estimates of local orientation

[Brox et al., 2006]

◮ used to derive medial axes for aligning design

elements (e.g., labels) along middle stream

◮ compare and threshold the unsigned gradient orientation for each point

Thresholding Shoreline Directions

25

www.hpi3d.de Semmo et al.

slide-26
SLIDE 26

Method – Local Orientation Estimation & Medial Axes Computation

◮ smoothed structure tensor with eigenanalysis to

  • btain stable estimates of local orientation

[Brox et al., 2006]

◮ used to derive medial axes for aligning design

elements (e.g., labels) along middle stream

◮ compare and threshold the unsigned gradient orientation for each point

Thresholding Shoreline Directions

26

www.hpi3d.de Semmo et al.

slide-27
SLIDE 27

Method – Local Orientation Estimation & Medial Axes Computation

◮ smoothed structure tensor with eigenanalysis to

  • btain stable estimates of local orientation

[Brox et al., 2006]

◮ used to derive medial axes for aligning design

elements (e.g., labels) along middle stream

◮ compare and threshold the unsigned gradient orientation for each point

Thresholding Shoreline Directions

27

www.hpi3d.de Semmo et al.

slide-28
SLIDE 28

Method – Local Orientation Estimation & Medial Axes Computation

◮ smoothed structure tensor with eigenanalysis to

  • btain stable estimates of local orientation

[Brox et al., 2006]

◮ used to derive medial axes for aligning design

elements (e.g., labels) along middle stream

◮ compare and threshold the unsigned gradient orientation for each point

Thresholding Shoreline Directions

28

www.hpi3d.de Semmo et al.

slide-29
SLIDE 29

Method – Local Orientation Estimation & Medial Axes Computation

◮ smoothed structure tensor with eigenanalysis to

  • btain stable estimates of local orientation

[Brox et al., 2006]

◮ used to derive medial axes for aligning design

elements (e.g., labels) along middle stream

◮ compare and threshold the unsigned gradient orientation for each point

Thresholding Shoreline Directions

Medial Axis Result

29

www.hpi3d.de Semmo et al.

slide-30
SLIDE 30

Method – Local Orientation Estimation & Medial Axes Computation

◮ smoothed structure tensor with eigenanalysis to

  • btain stable estimates of local orientation

[Brox et al., 2006]

◮ used to derive medial axes for aligning design

elements (e.g., labels) along middle stream

◮ compare and threshold the unsigned gradient orientation for each point

Thresholding Shoreline Directions

Medial Axis Result + Thresholded Shoreline Distance

30

www.hpi3d.de Semmo et al.

slide-31
SLIDE 31

Method – Feature-aligned Distance Transform Contour-Hatching

◮ requires design elements (e.g., strokes) to be

exactly aligned with the shorelines

◮ requires fine control over their placement per

rendering pass (water movements!)

u v u u D

31

www.hpi3d.de Semmo et al.

slide-32
SLIDE 32

Method – Feature-aligned Distance Transform Contour-Hatching

◮ requires design elements (e.g., strokes) to be

exactly aligned with the shorelines

◮ requires fine control over their placement per

rendering pass (water movements!)

u v u u D

Our Approach

◮ parameterize level-set curves of distance map to obtain distances along its tangential field ◮ level sets correspond to integral part of shoreline distances for non-normalized distance map ◮ similar to vector propagation, distances are iteratively propaged in parallel [CUDA]

32

www.hpi3d.de Semmo et al.

slide-33
SLIDE 33

Method – Feature-aligned Distance Transform Contour-Hatching

◮ requires design elements (e.g., strokes) to be

exactly aligned with the shorelines

◮ requires fine control over their placement per

rendering pass (water movements!)

u v u u D

Our Approach

◮ parameterize level-set curves of distance map to obtain distances along its tangential field ◮ level sets correspond to integral part of shoreline distances for non-normalized distance map ◮ similar to vector propagation, distances are iteratively propaged in parallel [CUDA]

33

www.hpi3d.de Semmo et al.

slide-34
SLIDE 34

Method – Feature-aligned Distance Transform Contour-Hatching

◮ requires design elements (e.g., strokes) to be

exactly aligned with the shorelines

◮ requires fine control over their placement per

rendering pass (water movements!)

u v u u D

Our Approach

◮ parameterize level-set curves of distance map to obtain distances along its tangential field ◮ level sets correspond to integral part of shoreline distances for non-normalized distance map ◮ similar to vector propagation, distances are iteratively propaged in parallel [CUDA]

34

www.hpi3d.de Semmo et al.

slide-35
SLIDE 35

Method – Feature-aligned Distance Transform Contour-Hatching

◮ requires design elements (e.g., strokes) to be

exactly aligned with the shorelines

◮ requires fine control over their placement per

rendering pass (water movements!)

u v u u D

Our Approach

◮ parameterize level-set curves of distance map to obtain distances along its tangential field ◮ level sets correspond to integral part of shoreline distances for non-normalized distance map ◮ similar to vector propagation, distances are iteratively propaged in parallel [CUDA]

35

www.hpi3d.de Semmo et al.

slide-36
SLIDE 36

Method – Feature-aligned Distance Transform Contour-Hatching

◮ requires design elements (e.g., strokes) to be

exactly aligned with the shorelines

◮ requires fine control over their placement per

rendering pass (water movements!)

u v u u D

Our Approach

◮ parameterize level-set curves of distance map to obtain distances along its tangential field ◮ level sets correspond to integral part of shoreline distances for non-normalized distance map ◮ similar to vector propagation, distances are iteratively propaged in parallel [CUDA]

36

www.hpi3d.de Semmo et al.

slide-37
SLIDE 37

Method – Feature-aligned Distance Transform Contour-Hatching

◮ requires design elements (e.g., strokes) to be

exactly aligned with the shorelines

◮ requires fine control over their placement per

rendering pass (water movements!)

u v u u D

Our Approach

◮ parameterize level-set curves of distance map to obtain distances along its tangential field ◮ level sets correspond to integral part of shoreline distances for non-normalized distance map ◮ similar to vector propagation, distances are iteratively propaged in parallel [CUDA]

37

www.hpi3d.de Semmo et al.

slide-38
SLIDE 38

Method – Feature-aligned Distance Transform

Shoreline Distance Feature-aligned Distance Texture Coordinates Surface Mask ◮ Texture Coordinates

are directly derived by combining shoreline and feature-aligned distances

◮ Texture-based Shading

that is capable of feature-aligned hatching at real-time frame rates

◮ Artistic Control

with dynamic parameterization at run-time to express water movements

38

www.hpi3d.de Semmo et al.

slide-39
SLIDE 39

Method – Feature-aligned Distance Transform

◮ contrary to energy minimization, our approach does not provide continuity across level sets ◮ individual texture features are aligned with level-set curves → no such constraint is required ◮ piecewise-linear approximation of shoreline / feature-aligned distances by bilinear sampling ◮ choose distance map resolution that balances rendering quality and performance

δ δ p x y d+1 d d+2 p

1

p p

2

p

3

Bilinear Sampling

d

Discrete Input + Distance Lines

t

Continuous Output

39

www.hpi3d.de Semmo et al.

slide-40
SLIDE 40

Method – Waterlining

◮ waterlines correspond to shaded areas with equal shoreline distance ◮ non-linear step function to compute target distance values with non-equidistant interspaces ◮ waterlines are padded by fade-in and fade-out intervals for antialiasing and parameterized by

the view distance for a continuous level-of-abstraction Shoreline Distance

+

0.2 0.4 0.6 0.8 1 0.2 0.4 0.6 0.8 1

d φ(d) s=40, e=0.6, h=0 Id φ Non-Linear Step

Waterlines

40

www.hpi3d.de Semmo et al.

slide-41
SLIDE 41

Method – Waterlining

◮ waterlines correspond to shaded areas with equal shoreline distance ◮ non-linear step function to compute target distance values with non-equidistant interspaces ◮ waterlines are padded by fade-in and fade-out intervals for antialiasing and parameterized by

the view distance for a continuous level-of-abstraction Shoreline Distance

+

0.2 0.4 0.6 0.8 1 0.2 0.4 0.6 0.8 1

d φ(d) s=40, e=0.6, h=0 Id φ Non-Linear Step

Waterlines

41

www.hpi3d.de Semmo et al.

slide-42
SLIDE 42

Method – Water Stippling Texture Bombing

◮ ... from Glanville [2004] enhanced to

place water stipples with feature-aligned distribution and irregular density

Stipples aligned with shorelines

◮ ... by stipple selection, stipple

displacement, and stipple filtering

Texture-based parameterization

◮ ... using tonal art maps to locally vary

stipple density and tone, layered / iterative approach to regularize / vary stipple density [GLSL]

42

www.hpi3d.de Semmo et al.

slide-43
SLIDE 43

Method – Water Stippling Texture Bombing

◮ ... from Glanville [2004] enhanced to

place water stipples with feature-aligned distribution and irregular density

Stipples aligned with shorelines

◮ ... by stipple selection, stipple

displacement, and stipple filtering

Texture-based parameterization

◮ ... using tonal art maps to locally vary

stipple density and tone, layered / iterative approach to regularize / vary stipple density [GLSL]

43

www.hpi3d.de Semmo et al.

slide-44
SLIDE 44

Method – Water Stippling

Selection

Texture Bombing

◮ ... from Glanville [2004] enhanced to

place water stipples with feature-aligned distribution and irregular density

Stipples aligned with shorelines

◮ ... by stipple selection, stipple

displacement, and stipple filtering

Texture-based parameterization

◮ ... using tonal art maps to locally vary

stipple density and tone, layered / iterative approach to regularize / vary stipple density [GLSL]

44

www.hpi3d.de Semmo et al.

slide-45
SLIDE 45

Method – Water Stippling

Selection Displacement

Texture Bombing

◮ ... from Glanville [2004] enhanced to

place water stipples with feature-aligned distribution and irregular density

Stipples aligned with shorelines

◮ ... by stipple selection, stipple

displacement, and stipple filtering

Texture-based parameterization

◮ ... using tonal art maps to locally vary

stipple density and tone, layered / iterative approach to regularize / vary stipple density [GLSL]

45

www.hpi3d.de Semmo et al.

slide-46
SLIDE 46

Method – Water Stippling

Selection Displacement Filtering

Texture Bombing

◮ ... from Glanville [2004] enhanced to

place water stipples with feature-aligned distribution and irregular density

Stipples aligned with shorelines

◮ ... by stipple selection, stipple

displacement, and stipple filtering

Texture-based parameterization

◮ ... using tonal art maps to locally vary

stipple density and tone, layered / iterative approach to regularize / vary stipple density [GLSL]

46

www.hpi3d.de Semmo et al.

slide-47
SLIDE 47

Method – Water Stippling

Selection Displacement Filtering

Texture Bombing

◮ ... from Glanville [2004] enhanced to

place water stipples with feature-aligned distribution and irregular density

Stipples aligned with shorelines

◮ ... by stipple selection, stipple

displacement, and stipple filtering

Texture-based parameterization

◮ ... using tonal art maps to locally vary

stipple density and tone, layered / iterative approach to regularize / vary stipple density [GLSL]

47

www.hpi3d.de Semmo et al.

slide-48
SLIDE 48

Method – Contour-Hatching

◮ parameterize shoreline / feature-aligned distances to irregularly place stroke maps [GLSL] ◮ control over stroke length, thickness, spacing, randomness according to shoreline distance ◮ enables time-varying parameterization for water movements and frame-to-frame coherence

v φ(d)+t u φ(d-1) φ(d) s d ...

Stroke Placement Texture Coordinates Rendering Result

48

www.hpi3d.de Semmo et al.

slide-49
SLIDE 49

Method – Contour-Hatching

◮ parameterize shoreline / feature-aligned distances to irregularly place stroke maps [GLSL] ◮ control over stroke length, thickness, spacing, randomness according to shoreline distance ◮ enables time-varying parameterization for water movements and frame-to-frame coherence

v φ(d)+t u φ(d-1) φ(d) s d ...

Stroke Placement Texture Coordinates Rendering Result

49

www.hpi3d.de Semmo et al.

slide-50
SLIDE 50

Method – Contour-Hatching

◮ parameterize shoreline / feature-aligned distances to irregularly place stroke maps [GLSL] ◮ control over stroke length, thickness, spacing, randomness according to shoreline distance ◮ enables time-varying parameterization for water movements and frame-to-frame coherence

v φ(d)+t u φ(d-1) φ(d) s d ...

Stroke Placement Texture Coordinates Rendering Result

50

www.hpi3d.de Semmo et al.

slide-51
SLIDE 51

Method – Contour-Hatching

◮ parameterize shoreline / feature-aligned distances to irregularly place stroke maps [GLSL] ◮ control over stroke length, thickness, spacing, randomness according to shoreline distance ◮ enables time-varying parameterization for water movements and frame-to-frame coherence

v φ(d)+t u φ(d-1) φ(d) s d ...

Stroke Placement Texture Coordinates Rendering Result

51

www.hpi3d.de Semmo et al.

slide-52
SLIDE 52

Method – Cross-Hatching & Labeling

[Webb et al., 2002] Our approach

◮ cross-hatching at shorelines by a tonal art map with

varying stroke sizes / densities [Praun et al., 2001]

◮ our approach does not affect shading of landmass,

i.e., terrain can be stylized separately

◮ downsample medial axes and use tangent

information of structure tensor for arc-length parameterization of piecewise cubic Bezier curves

◮ OpenGL extension NV_path_rendering to render /

transform instance-based text in a single pass

52

www.hpi3d.de Semmo et al.

slide-53
SLIDE 53

Method – View-Dependent Level-of-Abstraction

Level-of-Abstraction 1 Level-of-Abstraction 0 Waterlining Water Stippling Contour-Hatching Cross-Hatching

53

www.hpi3d.de Semmo et al.

slide-54
SLIDE 54

RESULTS

slide-55
SLIDE 55
slide-56
SLIDE 56

Results – 3D Mapping

3D mapping within the environment of Mount St. Helens / waterlining applied to a globe

56

www.hpi3d.de Semmo et al.

slide-57
SLIDE 57
slide-58
SLIDE 58

Results – Flooding Simulation

◮ waterlining expresses uncertainty, conveys motion, and enhances the depiction of land cover ◮ flooding simulation: assess distances to nearest safety zones for evacuation planning ◮ a plane is used as clipping mask and temporally shifted upwards to represent the change of

the mean sea level, uses ortographic projection to obtain flooded areas Flooding simulation for the city of Boston

58

www.hpi3d.de Semmo et al.

slide-59
SLIDE 59
slide-60
SLIDE 60

Results – Urban Planning & Landscaping

Contour-hatching and water stippling to express uncertainty

60

www.hpi3d.de Semmo et al.

slide-61
SLIDE 61

Conclusions

◮ design principles from cartography can be used to improve

figure-ground perception, which requires further validation

◮ shoreline and feature-aligned distance maps are suitable for

texture-based waterlining, water stippling, contour-hatching

◮ context-aware parameterization of shading effects remains

an important issue for view-dependent level-of-abstraction

61

www.hpi3d.de Semmo et al.

slide-62
SLIDE 62

Questions and Contact Information

Thank You For Your Attention!

◮ Amir Semmo

amir.semmo@hpi.uni-potsdam.de

◮ Computer Graphics Systems Group

  • Prof. Dr. Jürgen Döllner

hpi3d.de youtube.com/hpicgs @hpi3d

62

www.hpi3d.de Semmo et al.

slide-63
SLIDE 63

Performance Analysis

Performance evaluation (in ms): distance / feature-aligned distance transform (D/T),

  • rientation and medial axis computation.

Image Resolution D T Orient.

  • M. Axes

Total 128 × 128 1.6 26.6 0.1 0.7 29.0 256 × 256 2.2 96.3 0.2 0.8 99.5 512 × 512 4.5 371.6 0.6 0.9 377.6

Performance evaluation for rendering techniques using different screen resolutions (in frames-per-second).

Screen Resolution waterlining stippling contour-hatching 800 × 600 534 162 159 1280 × 720 523 88 84 1600 × 900 521 59 55 1920 × 1080 514 42 41

63

www.hpi3d.de Semmo et al.