1
mjb -- March 12, 2019Computer Graphics
Terrain Visualization
terrain.pptx
Mike [email protected]
mjb -- March 12, 2019Computer Graphics
Reminder: Color Scale Transfer Functions
The biggest rule here is to design something that is intuitive. The “snapshot rule” definitely applies!
Sometimes elevation is represented by a color transfer function, like one of these. Sometimes elevation is represented by the color of what exists at that elevation (sand, dirt, grass, trees, snow, etc.) Remember Tufte’s Do No Harm admonition.
2
mjb -- March 12, 2019Computer Graphics
A Possible Color Scale Transfer Function for Oregon
Assume snow level is at 1.5 miles
Sculpting the transfer function in HSV.
Full value, no saturation above 1.5 miles, full-saturation hue change below 1.5 miles.
mjb -- March 12, 2019Computer Graphics
Height Exaggeration
Most terrain visualization applications require height exaggeration to see any elevation changes. Why? Consider Oregon for example. Oregon is about 360 x 260 miles horizontally, and has an elevation range of about 2.5 miles vertically. This makes the elevation range less than 1% of the horizontal dimensions – hardly noticeable. However, be careful of going overboard.
Height Exaggeration = 1.0
Height Exaggeration = 3.0
Height Exaggeration = 2.0
Height Exaggeration = 10.0
3
mjb -- March 12, 2019Computer Graphics
S* = 0 miles S* = 0.17 miles
S* = 1.00 miles S* = 2.00 miles
Different Contour Lines
mjb -- March 12, 2019Computer Graphics
Multiple Contour Lines
4
mjb -- March 12, 2019Computer Graphics
Lighting
A
B
C
n̂
ˆAB AC
nAB AC
To do effective lighting of terrain surfaces, you need a surface normal for each triangle. You can get this with the cross product and unitizing:
You can use this unitized normal directly in the OpenGL glNormal3f( ) call to do dynamic OpenGL lighting.
You can also do pseudo-lighting, where you assume that the sun is in a fixed direction from the scene. The diffuse portion of the lighting model is then:
ˆˆdI n Ln̂L̂
If you assume that the sun is directly overhead, then this reduces to just the vertical component of the unit surface normal.
mjb -- March 12, 2019Computer Graphics
Lighting Height Exaggeration
At times it is helpful to exaggerate the height for the lighting computations, but not for the height display. This ends up exaggerating the lighting effects, which is usually a good thing.
Lighting Height Exaggeration = 1.0
Lighting Height Exaggeration = 10.0
Lighting Height Exaggeration = 5.0
Lighting Height Exaggeration = 20.0
5
mjb -- March 12, 2019Computer Graphics
s = 1.0s = 0.0
t = 0.0
t = 1.0
x=xmin x=xmax
y=ymin
y=ymax
min
max min
0.
1. 0.
x xs
x x
min
max min
0.
1. 0.
y yt
y y
min
max min
x xs
x x
min
max min
y yt
y y
(x,y)
(s,t)
Computing (s,t) Texture Coordinates from Longitude (x) and Latitude (y)
mjb -- March 12, 2019Computer Graphics
s = 1.0s = 0.0
t = 0.0
t = 1.0
Computing (s,t) Texture Coordinates:What if the Texture doesn’t occupy the entire Image?
t = tmax
x=xmax
y=ymin
y=ymax
(x,y)
(s,t)
min
max min
0.
1. 0.
x xs
x x
min
max max min
0.
0.
y yt
t y y
min
max min
x xs
x x
max min
max min
( )t y yt
y y
6
mjb -- March 12, 2019Computer Graphics
No texturing
GL_REPLACE
Underlying lighting withGL_MODULATE
OpenGL Texture Environments
mjb -- March 12, 2019Computer Graphics
USGS National Elevation Database Program
Continental US Data available free at 10m resolution.Mt. Hood
Mt. Hood
Salem
http://ned.usgs.gov/
7
mjb -- March 12, 2019Computer Graphics
No Exaggeration
Exaggerated
Terrain Height Bump-mapping:Don’t Actually Supply the Geometry, Just Manipulate the Normals
mjb -- March 12, 2019Computer Graphics
Terrain Height Bump-mapping: Coloring by Height
8
mjb -- March 12, 2019Computer Graphics
No Exaggeration
Exaggerated
Terrain Height Bump-mapping: Coloring by Height
mjb -- March 12, 2019Computer Graphics
Corvallis
Terrain Height Bump-mapping: Zooming In
Salem
Portland
Eugene
9
mjb -- March 12, 2019Computer Graphics
Terrain Height Bump-mapping: Zooming In
Crater Lake
mjb -- March 12, 2019Computer Graphics
http://egsc.usgs.gov/isb/pubs/MapProjections/projections.html
Map Projections
Mercator
TransverseMercator
10
mjb -- March 12, 2019Computer Graphics
http://egsc.usgs.gov/isb/pubs/MapProjections/projections.html
Map Projections
MillerCylindrical
Robinson
mjb -- March 12, 2019Computer Graphics
http://egsc.usgs.gov/isb/pubs/MapProjections/projections.html
Map Projections
Sinusoidal Equal Area
Orthographic
11
mjb -- March 12, 2019Computer Graphics
http://egsc.usgs.gov/isb/pubs/MapProjections/projections.html
Map Projections
Gnomonic
Albers Equal Area Conic