10
HAL Id: inria-00606769 https://hal.inria.fr/inria-00606769 Submitted on 20 Jul 2011 HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci- entific research documents, whether they are pub- lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers. L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés. Procedural Reproduction of Terrain Textures with Geographic Data Carsten Dachsbacher, Tobias Bolch, Marc Stamminger To cite this version: Carsten Dachsbacher, Tobias Bolch, Marc Stamminger. Procedural Reproduction of Terrain Textures with Geographic Data. Vision, Modeling and Visualization (VMV 2006), Nov 2006, Aachen, Germany. pp.105-112. inria-00606769

Procedural Reproduction of Terrain Textures with

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Procedural Reproduction of Terrain Textures with

HAL Id: inria-00606769https://hal.inria.fr/inria-00606769

Submitted on 20 Jul 2011

HAL is a multi-disciplinary open accessarchive for the deposit and dissemination of sci-entific research documents, whether they are pub-lished or not. The documents may come fromteaching and research institutions in France orabroad, or from public or private research centers.

L’archive ouverte pluridisciplinaire HAL, estdestinée au dépôt et à la diffusion de documentsscientifiques de niveau recherche, publiés ou non,émanant des établissements d’enseignement et derecherche français ou étrangers, des laboratoirespublics ou privés.

Procedural Reproduction of Terrain Textures withGeographic Data

Carsten Dachsbacher, Tobias Bolch, Marc Stamminger

To cite this version:Carsten Dachsbacher, Tobias Bolch, Marc Stamminger. Procedural Reproduction of Terrain Textureswith Geographic Data. Vision, Modeling and Visualization (VMV 2006), Nov 2006, Aachen, Germany.pp.105-112. �inria-00606769�

Page 2: Procedural Reproduction of Terrain Textures with

Procedural Reproduction of Terrain Textures with Geographic Data

Carsten Dachsbacher1,3, Tobias Bolch2, Marc Stamminger31 REVES INRIA Sophia-Antipolis

2 Institute for Cartography, Technische Universitaet Dresden3 Computer Graphics Department, University of Erlangen-Nuremberg

AbstractSurface textures of high resolution and quality, ei-ther acquired from aerial or satellite imagery orcomputed using procedural models, are crucial forphotorealistic terrain rendering. Procedural mod-els provide a compact representation and can beevaluated at run-time. In this paper we present anextension to an existing, GPU-friendly proceduraltexturing model, such that it can be fitted semi-automatically to real-world data. In order to in-crease realism and to account for geographic con-ditions, we also include temperature, solar radiationand rainfall distributions – simulated or modeled us-ing measured data from gaging stations – into thereproduction process. The original surface textureis no longer required for rendering: instead a newtexture of arbitrary resolution is synthesized at run-time. In addition to the compact procedural modelwe store elevation data, anyway required for the ter-rain rendering, and low-resolution geographic data.We show results of our method applied to a compar-atively little cultivated region in Central Asia.

1 IntroductionSurface textures of high resolution and quality arecrucial for photorealistic terrain rendering. Basi-cally they can originate from two sources: eitherthey are acquired as real-world data, e.g. from satel-lite imagery, or they are created from the input ele-vation data using appropriate procedural models. Inboth cases the memory consumption of the acquiredor precomputed textures can be tremendous if greatviewing distances or high surface detail for closeviews is provided and therefore adequate imple-mentation strategies have to be applied to achieveinteractive rendering.

Procedural models for terrain texturing can beused to create completely artificial, yet realisticlandscapes. In this paper we propose means tomimic real terrain textures (left image in the teaser)by guiding a procedural model with real-world data.We incorporate further geographic input data in ad-dition to elevation data, namely rainfall, solar radia-tion, and temperature (center images in the teaser).The terrain surfaces visible in a georegistered satel-lite image are classified and the geographic precon-ditions for their appearance are estimated. This in-formation can be used to reproduce the input tex-ture with the advantage of a compact procedural de-scription (right image in the teaser). Using a modelthat can be evaluated at arbitrary resolutions, we canalso render close-ups of the terrain by adding pro-cedural detail.

This paper is structured as follows: in Section 2we give an overview over related and previouswork and Section 3 gives an introduction to geo-graphic considerations for realistic terrain texturing.Section 4 recapitulates the basics of the procedu-ral model which serves as a starting point for thiswork. Section 5 describes our texture reproductionby guidance of the procedural model followed byresults and conclusions in Section 6.

2 Previous WorkDiverse caching and compression strategies havebeen developed to deal with huge amounts of pre-computed or acquired texture data. Two approacheswith hardware support areclipmaps[SGI] (on SGI’sInfiniteReality) andS3 texture compression(seee.g. [Mic02]) supported by all contemporary graph-ics hardware. Other solutions to this problem aresolved on the software side using adequate cachingor paging strategies: typically a large terrain is rep-

Page 3: Procedural Reproduction of Terrain Textures with

resented by a quadtree-like data structure and therequired texture (resolution) for each visible node isdetermined and the appropriate texture is loaded orgenerated. Examples for this technique have beenpresented among others by Blow [Blo98, Blo00b]and Ulrich [Ulr02].

However, in various settings, it is not possible touse acquired real-world data for terrain rendering.It may be that the texture resolution is too low forclose-up views or that the images include humanhousing or agriculture although undisturbed, natu-ral scenes are to be rendered. Apart from that, it isoften the case that storage or transfer of the texturesis not desirable – then, procedural models can beused to compute textures.

Many texturing models, mainly those often usedin computer games and other interactive applica-tions, are computationally rather cheap but lack re-alistic appearance. For example procedurally pre-computed low-resolution texture maps combinedwith detail or bump maps are not sufficient for aplausible appearance of soil, especially due to thevisible repetitions. Although Wang tiles [CSHD03]can solve this problem they require a set of pre-computed texture tiles and cannot account for vary-ing terrain features, like steep slopes and plains.Precomputing procedural textures at high resolu-tion requires paging and caching algorithms, buteven those have their limitations. Widely used ap-proaches in computer games aretexture splatting,that is compositing of a terrain texture by blending aset of tileable textures (e.g. for rock, sand and grasssurfaces) in the frame-buffer (see Bloom [Blo00a]for details) ortexture bombing(see [Gla04]). A pro-cedural model which can be computed efficientlyat arbitrary resolutions using programmable graph-ics hardware and which accounts for terrain featureswas introduced by Dachsbacher et al. [DS05]. It iscomparable to the model used in Terragen [Fai05]in terms of visual quality and flexibility, but can beevaluated at run-time at interactive frame rates.

For reproducing textures, the input data has to beinterpreted. Premoze et al. [PTS99] propose meth-ods for classifying surface types and for remov-ing shading and shadowing artifacts from aerial im-agery. Using this information, new views of the ter-rain for arbitrary times of day and atmospheric con-ditions can be rendered.

Much research has been spent on terrainrendering, level-of-detail algorithms and textur-

ing. As these topics are not closely relatedto this work, we direct the interested reader tohttp://www.vterrain.org which is a valu-able source of links and information.

3 Geographic Considerations

Apart from efficient computation, the quality of aprocedural model depends mainly on the realism itachieves. Those procedural models taking terrainfeatures into account so far only consider terrain el-evation and slope (e.g. the Terragen [Fai05] model).We propose to include additional, geographic in-put data, e.g. temperature, solar radiation and rain-fall, into the procedural model. This enables us tosteer a procedural model such that it reproduces agiven input texture. This is not possible when re-garding only input elevation data, as terrain surfacesand particularly vegetation also depends on otherfactors. The geographic quantities can either beacquired from appropriate gaging stations or com-puted by simulations.

In this work we concentrate on generating tex-tures only, which implies a certain viewing dis-tance. For close views, vegetation and small scaledetail, e.g. rocks, have to be represented geomet-rically. Deussen et al. [DCSD02] and Colditz etal. [CCDH05] propose methods to handle the com-plexity of such ecosystems for rendering. To ac-count for additional input data for texturing, it isimportant to know how it influences the appear-ance of surface types. We refer the interested readerto physical geography and biogeography textbooks(e.g. [MH05, Pid05]) and present a collected sum-mary of aspects that proved to be decisive.

Erosion simulation can be used to determinewhere solid rock and where loose sediments exist.However, erosion itself is a quite complicated pro-cess, if vegetation and non-uniform material is con-sidered. The basis of erosion and rockfall is weath-ering or decomposition, e.g. due to frost weather-ing, chemical decomposition or plant roots. Rock-falls are common for high mountains and exhibitbrighter tear-off edges, due to non-weathered stone.Besides from terrain slopes, soil properties and rain-fall, erosion also depends on vegetation, as plantsprevent from soil loss. Vice versa, the plant distri-bution also depends on surface materials and thuson the result of erosion.

The appearance of plants in general depends onfew parameters: they require sufficient water sup-

Page 4: Procedural Reproduction of Terrain Textures with

slope

coverage

add surface layer:

compute contribution

from coverage and

constraints, blend

layer color

height

coverage

colorcolor

input height heightup-sample or

modify elevation data compute surface

normal and slope

Figure 1: Applying a surface layer includes modification of the elevation data, normal/slope computations,and finally the determination of the new surface color and height value.

ply, an adequate soil to strike roots and a certainamount of solar radiation for photosynthesis. Onthe other hand the solar radiation is an importantsteering factor for the evaporation; thus it is also afactor that limits the growing of plants. The sun-shine duration can be computed for a given terrainand location on the earth, provided that an averagecloud cover can be assumed. Computing the irra-diation for a surface location from thesolar con-stant (the amount of energy received at the top ofthe earth’s atmosphere,1368W/m2) is explainedby Stickler [Sti99]. Concerning the availability ofwater, it is important to note that it does not dependsolely on direct rainfall, but also on subterraneanstreams that are hard to simulate. The rainfall dis-tribution depends mainly on large-scale terrain fea-tures. The precipitation normally rises with the ele-vation due to air cooling and therefore high moun-tains receive more rainfall than surrounding planes.In addition, an important aspect is the rainfall ’shad-owing’ from mountains in the main wind direction.The occurrence of perennial snow and ice also de-pends on certain climatic conditions.

Procedural models for height field generation andreal world elevation data usually do not exhibit soiltype information. For this, the distribution of soilmaterials is usually computed within the proceduraltexturing model assuming that e.g. rocky surfacesappear at steep slopes. The Cached Procedural Tex-turing (CPT) model [DS05] is constructed such thatone surface type is the precondition for the exis-tence of another: for example, a surface type rep-resenting fertile sediments is the precondition forgrass and other plants to appear. So far, however,only altitude and slope criteria have been consid-ered for the distribution of soil materials.

This paper describes how to extend and fit theCPT model semi-automatically to real-world data,e.g. acquired satellite images. By this, the originalsurface texture is not required for the rendering andis replaced by a very compact procedural approxi-mation which can be evaluated directly at run-timeusing stored low-resolution geographic data.

4 Cached Procedural Textures

As our reproduction of natural terrain textures is anextension to the CTP method, we recapitulate thebasic ideas in this section. This technique generatessurface textures from input elevation data while thesurface appearance is described by hierarchicallyordered surface layers. A surface layer representsa soil or vegetation layer and can contribute to thefinal texture color at a certain location when con-straints for appearance (e.g. a certain range of ele-vation) depending on user-defined layer parametersand input elevation data are met. Originally, thismethod was designed to compute artificial terraintextures with few, intuitive parameters.

The method can be best explained, when assum-ing that we compute a texture for the whole terrainwith a 1:1 texture-to-heightmap texel ratio. At first,the terrain texture is initialized with a base colorrepresenting the underlying rock material. Thenone surface layer at a time is processed: for eachtexel of the terrain height map the layer’s constraints(see Section 4.1 and 4.2) are evaluated. The surfacelayer only contributes to the terrain color and maychange the terrain surface (modifying its elevationdata), if its constraints are met. If one of the con-straints is unmet, the layer is discarded at this texel.The next surface layer operates on the output colorand elevation data of the previous step. After apply-ing all layers, the final height is used to compute theterrain’s surface normals for lighting computationsand for displacement mapping. This technique thusproduces modified elevation data through displace-ments, a corresponding normal map, and a colortexture that represents the final terrain color.

In order to provide level-of-detail rendering aquadtree data structure is used for spatial subdivi-sion of the terrain domain. For geometric level-of-detail a Chunk-LOD approach [Ulr02] is used. Asterrain closer to the viewer requires higher textureresolutions than terrain further away, the algorithmoperates on texture tiles (small textures associateda quadtree node) stored in a texture atlas [Wlo05].

Page 5: Procedural Reproduction of Terrain Textures with

The generated surface textures are cached in the at-las to exploit frame-to-frame coherency. Tiles maybecome invalid as the current view changes or as thecurrent view requires them to be of different resolu-tion. With caching, only a few or even no textureupdates are required for rendering a new frame.

4.1 Surface Layers and AttributesWhether a surface layer contributes to a surface lo-cation or texelx of the terrain texture depends onthe evaluation of its constraints. A layer appearsonly in a certain range of height and slope valuesand the amount of its contribution to the texturecolor is calledcoverageC(x) ∈ [0; 1]. For effi-cient evaluation these coverage functions are com-puted from simple, clamped hat functions (providecontinuous transitions)hA(x) andhS(x) for heightand slope constraints (see Fig. 2). Please note, thathA and hS are functions of scalar input and out-put – however, we will apply them to input dataretrieved from the elevation dataH(x) and defineh′

A(x) = hA(H(x)) and analogous forh′

S .In addition to these hat functions the coverage

value is slightly modified by a noise function to di-versify the terrain texture which may be of muchhigher resolution than the input height field. Eachsurface layer stores parameters for evaluating thehat and noise functions, and a RGB color value rep-resenting the surface material or vegetation (see Ta-ble 1). These parameters are chosen by the user andallow an intuitive modeling of surface texturing.

4.2 EvaluationThe hierarchical structure of surface layers, also de-fined by the user, specifies the order of evaluationof the surface layers (Fig. 4). Layers are evalu-ated in depth-first order, and layers whose parentsfail to satisfy their constraints cannot contribute. Alayer cannot contribute more than its parent layerand to achieve this, the coverageC(x) of a layeris bounded by its parent’s coverageCP (x). Pleasenote, that coverage is only propagated to a layer’schildren, the modified elevation data is always takenas input for the next layer (Fig. 4).

height [m] 10 8 12 18 20 22

hA(x)

0.0

1.0

height range 10m to 20m

with 2m transition

Figure 2: Surface layer constraints are representedby clamped hat functions.

The root node is special in that it has no con-straints: the base material of the terrain is presenteverywhere. The input to the root node is the origi-nal terrain elevation data and as the target resolutionof the terrain texture is usually higher, the eleva-tion data is upsampled by cubic B-spline interpola-tion. Simpler bilinear interpolation leads to piece-wise linear patches and causes undesirable texturingand shading artifacts.

The constraint hat functions can be efficientlycomputed by the clamped minimum of two linearfunctions. As a consequence the native instructionsof a GPU’s pixel shader allow a very simple imple-mentation and a parallelized evaluation for multipleconstraints. In order to provide the option of mak-ing the surface layer distribution more diversified,the noise functionN(x) with a codomain of[−1; 1]is scaled, biased and used to modify constraint re-sults. The coverageC(x) is then computed from allconstraint functions (denoted byFi here,F0 = h′

A,F1 = h′

S andn being the number of constraints)and the parent’s coverage:

C(x) =clamp

(

[bs + ssN(x)]

n−1Y

i=0

Fi(x)

)

CP (x)

with clamp(x) = max {0, min {1, x}}

(1)Finally, the new color due to application of thislayer and the new height valueH ′(x), modified bya displacement mapDS(x) (representing surfacelayer characteristics like bumps or cracks) is deter-mined:

RGB(x) = (1 − C(x))RGBin(x) + C(x)RGBS

H ′(x) = H(x) + C(x)BSDS(x)

(2)

parameter descriptionBS terrain roughness, achieved by adding

elevation displacement, where thesurface layer contributes

RGBS surface color of surface materialN(x) noise function with codomain [-1;1]

used to modify the result of the con-straint evaluation multiplicatively

sS , bS scale and bias of the noise functionbefore constraint modification

hA(x), hat functions for constraint evalua-tion, where the input is elevation orslope (computed from elevation)

hS(x)

Table 1: Each surface layer provides this set of at-tributes.

Page 6: Procedural Reproduction of Terrain Textures with

Satellite Image Elevation Data

Slope Rainfall

Radiation Temperature

Figure 3: The surface layer constraints and prop-erties are estimated from the real-world input datafor the terrain. Please note that for water surfacesthe original elevation data does not capture the seabottom – elevation data is modified there algorith-mically. The Landsat satellite image was taken inAugust 1999 showing little snow cover and snow-free glacier tongues.

Rock (root, level 0)

Grass (level 1)

Dark Grass (lvl 2)

Dry Grass (lvl 3)

Light Grass

Sand

input height/base color,

initial coverage=1

height/color(0), coverage(0)

height/color(0), coverage(0)

height/color(1), coverage(1)

height/color(1), coverage(1)

height/color(2), coverage(2)

height/color(3), coverage(2)

height/color(5), coverage(0)

height/color(2), coverage(2)

height/color(3), coverage(3)

height/color(4), coverage(3)

height/color(6), coverage(1)

Brown Grass height/color(4), coverage(1) height/color(5), coverage(2)

layer hierarchy input for layer evaluation output

Figure 4: Traversal of a surface layer hierarchy:height data always passes to the layer that is eval-uated next, but coverage only feeds back to thelayer’s children.

5 Mapping the Real WorldIn this section we describe a method to estimatesurface layer constraints and properties for theprocedural texturing method from real-world data,i.e. satellite color images, elevation and further mor-phometric and climatic data. For this, we needregistered input data as shown in Fig. 3. Once asurface layer description is constructed from real-world data, we can render arbitrary views of the ter-rain or images from other terrain parts for whichelevation and (simulated) geographic data exists.

5.1 Acquisition of Input Data

First of all, we describe how the input data in our ex-ample has been acquired. Computations may varyin detail as specialized models exist for simulatingclimatic conditions in different geographic regions;the utilization of the resulting data for our texturingmethod, however, always remains the same.

To regionalize the mean annual air temperatureand the precipitation (Fig. 3) in a first step we di-vided the study area into two parts for temperatureand five parts for precipitation, in order to obtain ho-mogeneous areas with similar climatic conditions,e.g. the foothills and the northern slopes the firstmountain ridge and the intramountainous basin oflake Issyk-Kul. In a second step, we computed ver-tical gradients for each area based on a regressionmodel using the existing climate stations in order toget specific values about the temperature decreaseand precipitation increase with the altitude. For theIssyk-Kul basin, a significant precipitation increasefrom west to east occurs, because the air massesobtain humidity while flowing over the large wa-ter body. Therefore here a horizontal gradient wasalso calculated. Then the temperature and precipi-tation conditions were regionalized using the digitalelevation model from the Shuttle Radar TopographyMission (SRTM, resolution 90 m) for each area sep-arately and finally merged using ArcGIS 9.0. Theresults for the temperature were promising, but notentirely so for the precipitation. In order to inte-grate the important luv and lee effects of the precip-itation, this model was combined with [BL05] forHigh Asia, which includes these effects, based onthe calculated main wind direction using a circula-tion model. However this model has a lower reso-lution and integrates only three climate stations innorthern Tien Shan and Issyk-Kul basin. The radia-tion has a high impact on the surface conditions, e.g.the vegetation belts and the snow line are shifted tohigher altitudes than on the northern slopes due tothe dryness on the southern slopes caused by highradiation input. Therefore the potential direct solarradiation (the direct radiation which the earth sur-face would receive in cloudy conditions) was mod-eled, in order to obtain its differentiation. Thismodel has an iterative approach taking the astro-nomic and atmospheric standard parameters (suchas the geographic position or the atmospheric ex-tinction) into account. For more information we re-fer the interested reader to [BL05, TH04, Bol06].

Page 7: Procedural Reproduction of Terrain Textures with

5.2 Acquiring Surface Layer DescriptionsSeveral processing steps are involved to acquirethe surface layer description. These are presentedin chronological order in the following sections.To capture the complexity of nature, we do notrepresent the surface layer constraints by simplehat functions, but by arbitrary constraint functions.These functions are acquired by sampling the real-world data and stored for a later evaluation. Ourtexturing parameter estimation has to perform thefollowing steps:

• Identification and classification of surface ma-terials visible in the satellite image.

• Evaluation under which conditions a classof surface material appears, i.e. for example,which elevation, slope, and temperature haveto predominate at a certain location that theterrain is covered by snow and ice.

• Replace previously simple hat functions of theprocedural model by sampled constraint func-tions obtained from the evaluation step.

5.2.1 Surface Type ClassificationAlthough multi-spectral satellite images providemuch more information than just RGB color, e.g.infrared channels (in fact often the RGB representa-tions are computed from other frequency bands) werestrict our experiments to this limited data. By this,we can also use data from aerial photography whichmost often does not offer additional data channels.First, the surface types in the RGB color satelliteimage are to be classified and each surface type, e.g.rock, sand or grass, will initially be represented by asingle surface layer. Premoze et al.[PTS99] presenta method for removing shading from aerial ortho-images and classifying surface cover consideringsurface orientation and application of a maximumlikelihood Bayer classifier. However, we found thatfor our purpose and for rendering distant views wecan achieve a satisfying classification more easily.The underlying idea is to transform the color infor-mation from RGB into color spaces, that allow aneasy, yet sufficient, classification of surfaces. Ex-periments showed that color models providing lu-minance and two chromaticity values, like the CIEXYZ, YIQ or YUV models, are not practical, as thecolor separation is not sufficient. On the other hand,the hue-saturation-value (HSV) model in combina-tion with the original RGB representation proved towork very well. Figure 5 shows the satellite im-age converted into HSV color space and Figure 7

shows the respective histogram of hue and satu-ration values as a density plot. Please note, thatgrayish colors, when converted from RGB to HSV,may end up in undefined hue values due to colorquantization. For this, (near) gray colors are iden-tified in RGB space and their hue value is set to auser-defined value (here it is set to the hue of pur-ple colors that do not originally appear in the satel-lite image). The resulting hue-saturation histogramis well suitable to classify the terrain surface intorock, vegetation, water and snow, and ignores shad-ing due to surface orientation. In our experimentswe defined the surface clusters manually by divid-ing the histogram into four subsets. This step doesnot require geographic knowledge – the clusters aresimply chosen according to the hue-saturation his-togram. The application of automatic clusteringmethods, e.g. learning vector quantization or self-organizing maps (see Kohonen [Koh01] for details),remains subject to future research.

5.2.2 Surface Layer HierarchyBuilding a meaningful surface layer hierarchy auto-matically from the input data cannot be easily ac-complished. This is because the input satellite im-age, does not provide information on the constitu-tion of the terrain surface, from which a meaningfulsurface layer hierarchy can be derived – only colorvalues are provided. The evaluation of the layer de-scription, however, also depends on the topology ofthe layer hierarchy.

Considering these problems, we suggest to usea simple heuristic which imposes certain require-ments on the constraint functions described in thenext section. Initially we start with a root node andassign the color of the most widespread surface typeto it. Then we create a level-1 node for each surfacetype classified in the previous step. All of these sib-ling nodes are children of the root node and we as-sign the average color of each surface type class tothe nodes. Parameters for the texture diversifica-tion for close views through noise functions remainuser-defined. Please note, that colors taken from thesatellite image underlie atmospheric scattering andthus colors exhibit a shift to blueish color tones.

5.2.3 Estimating Distribution FunctionsThe last processing step is the determination of con-ditions which have to predominate that a certainsurface type appears in the texture. In Section 4these conditions were user-defined by few intuitivequantities and simple hat functions have been used

Page 8: Procedural Reproduction of Terrain Textures with

for evaluation. In real-world, however, such sim-ple functions will not suffice to capture the com-plex distribution of surface materials. Our goal isto acquire constraint functions from the input dataautomatically which allow us to reproduce the in-put satellite image. We compute these functionsFi(x) ∈ [0; 1) (analogous to Eq. 1) for each inputquantity (height, slope, rainfall, temperature and ra-diation) to obtainP (x) =

Qn−1

i=0Fi(x).

This product of constraint functionsP (x) is themain criteria for the appearance of a surface layerand can be considered as amount of contribution tothe texture color. However, surface layers are eval-uated sequentially (due to the simplified layer hier-archy, see Section 5.2.2) and one surface layer mayoverwrite the contribution of its predecessor.

Consequently, the problem is to acquireFi(x)for each surface layer from the respective inputquantities such thatP (x) approaches1 if, and onlyif, the layer is visible at surface locationx. Underthe assumption, that the surface color can be pre-dicted from the input quantities, we propose to usethe following heuristic, which proved, judged sub-jectively, to produce good results. Please note, thatwe created one surface layer per surface type (asidentified in the clustering step) and we estimate allFi(x) independently from each other. At first, wescale all input quantities such that their domain is[0; 1). Next we compute a histogram for each inputquantity which denotes how many pixels exhibit thesurface type for a certain input value. For example,how many pixels of the satellite image belong to thevegetation cluster and appear at a certain terrain el-evation. We found empirically that appropriate dis-tribution functions can be obtained by scaling (andclamping) the histogram such that its mean valueequals to0.5. Resulting functions for the vegetationlayer are shown in Fig. 6. The distribution functionsare stored as textures for use in the procedural tex-turing algorithm. The evaluation the analytic func-tions is replaced by sampling textures.

A diversification of the landscape coloring isachieved by adding more surface layers. To do thatwithout complicating the constraint function esti-mation, we add child nodes to those level-1 nodeswhich represent larger clusters in the hue-saturationhistogram (Fig. 7), e.g. the greenish vegetationcluster. These nodes are created with slightly, ran-domly modified attributes for noise diversificationand colors from within the surface type cluster.

Due to the lack of a meaningful layer hierar-

chy, the estimated constraint functions appear rathercomplicated. If a layer hierarchy based on geolog-ical observations would be available, then the his-tograms would be less disconnected and smoother.For example, assume a fertile soil type appearing atall heights. A vegetation layer on top of it may ap-pear only at a certain height interval (due to otherconstraints for example). As a consequence, a sim-ple nearly constant height distribution function forthe fertile soil becomes disconnected. This is be-cause the non-existent hierarchy (just one level forthe basic distribution functions) does not representthe fact, that the soil layer is the precondition forthe vegetation layer. This problem cannot be solvedwith a simple heuristic and rather requires an inter-active approach.

6 Results and ConclusionsWe found that our rather simple method provides aplausible and visually pleasing reproduction of nat-ural terrain textures. For estimating the constraintfunctions we excluded the terrain parts that werecultivated by humans (especially the area north ofthe mountain range in Fig. 3, where irrigated farm-land exists). It is obvious, that a method like ourscannot reproduce such regions: human cultivationdoes not follow the same rules as natural distribu-tion of plants and soil. One remaining problem withsatellite images is cloud cover. Due to the whitecolors of clouds they can misleadingly classified assnow cover. At least for images exhibiting sparseclouds this problem can be solved with a simplespecial treatment of the snow surface type: for mostterrain regions a minimal altitude for the appearanceof snow can be indicated and all pixels that are clas-sified as snow (due to their color), but do not meetthis height criterion are discarded. By integratingshortwave infrared images (e.g. Landsat, Channel7), snow and ice can be distinguished from clouds.

The results achieved with our method are illus-trated in Figure 6 showing the same region as visi-ble in the satellite image (Fig. 3). The sea and atmo-spheric conditions were rendered using appropriateanalytic models [PSS99, PA00].

During rendering textures with higher resolutionthan the input data are generated and the texture di-versification due to the noise functions produces atleast plausible results without changing the overallappearance of the terrain. For texture generation,we only store the distribution functions and the ge-ographic input data. Each distribution function is

Page 9: Procedural Reproduction of Terrain Textures with

represented by 256 equidistant samples stored asan 8-bit texture. The procedural model is imple-mented as vertex and fragment shaders and entirelyexecuted on graphics hardware. Rainfall, tempera-ture and radiation is stored in a10242 RGB 8-bittexture, the elevation data for our example is20482

with 16-bit precision. Due to tiling and use of a tex-ture atlas, the resolution of the synthesized textureadapts to the view point. The tiled, adaptive texture(occupying 40mb of video memory) used in Fig. 6corresponds to a327682 fixed-resolution texture. Ingeneral, using textures for terrain rendering is onlysuitable for distant views – for close view, grounddetail like shrubs and rocks have to be representedby geometric objects. The execution time for thetwo automated steps of the fitting process, comput-ing the hue-saturation histogram and surface clas-sification with constraint function estimation, was2.0sec and 0.7sec on a P4, 3.4GHz processor for asatellite image resolution of 2400×2200 pixels.

Basically a once fitted procedural model, repre-sents a specific clime zone and soil constitution.Thus, changes to the height-field can be made andafter redoing the geographic simulations or extrapo-lating measured data, images of the modified terraincan be rendered with likely realistic texturing.

In the future we would like to exploit more in-formation available from satellite imagery, e.g. in-frared bands, to ensure a more detailed and accurateclassification. To fully automate this process, ap-propriate clustering methods have to be applied andvalidated. Identification of surface layer dependen-cies and constructing a layer hierarchy accordinglyis also subject to research.

Acknowledgement: this project was funded bythe DFG projectInteraktive Visualisierung proze-duraler Modelle.

References[BL05] B OHNER J., LEHMKUHL F.: Environmental Change

Modelling for Central and High Asia: Pleistocene, Presentand Future Scenarios. InBoreas 34(2)(2005), pp. 220–231.

[Blo98] BLOW J.: Implementing a Texture Caching System.Game Developers Magazine(April 1998).

[Blo00a] BLOOM C.: Terrain Texture Compositing byBlending in the Frame-Buffer. Available onlineat http://www.cbloom.com/3d/techdocs/splatting.txt (2000).

[Blo00b] BLOW J.: Terrain Rendering at High Levels of De-tail. Available online athttp://number-none.com/blow/papers/terrain rendering.pdf (2000).

[Bol06] BOLCH T.: Climate Change and Glacier Retreat inNorthern Tien Shan (Kazakhstan/Kyrgyzstan) using RemoteSensing Data. InGlobal and Planetary Change(2006).

[CCDH05] COLDITZ C., COCONU L., DEUSSENO., HEGE H.:Real-time Rendering of Complex Photorealistic LandscapesUsing Hybrid Level-of-Detail Approaches. InReal-time vi-sualization and participation(June 2005).

[CSHD03] COHEN M. F., SHADE J., HILLER S., DEUSSENO.:Wang tiles for image and texture generation.ACM Transac-tions on Graphics 22, 3 (2003), pp. 287–294.

[DCSD02] DEUSSEN O., COLDITZ C., STAMMINGER M.,DRETTAKIS G.: Interactive visualization of complex plantecosystems. InVIS ’02: Proceedings of the conference onVisualization ’02, pp. 219–226.

[DS05] DACHSBACHER C., STAMMINGER M.: Cached Proce-dural Textures for Terrain Rendering. InShader X4 (2005),Charles River Media.

[Fai05] FAIRCLOUGH M.: Terragen v0.9 (Software).Availableonline athttp://www.planetside.co.uk (2005).

[Gla04] GLANVILLE R. S.: Texture Bombing. InGPU Gems:Programming Techniques, Tips and Tricks for Real-TimeGraphics(2004), Addison Wesley Professional.

[Koh01] KOHONEN T.: Self-Organizing Maps, 3rd ed. Springer,Berlin, Germany, 2001.

[MH05] M CKNIGHT T. L., HESS D.: Physical Geography: ALandscape Appreciation, 8th edition. Pearson Prentice Hall,San Francisco, CA, USA, 2005.

[Mic02] M ICROSOFTCORPORATION: DirectX 9.0 SDK, 2002,November 2002.

[LH05] L EFEBVRE, S., HOPPEH.: Parallel controllable texturesynthesis. InACM Transactions on Graphics 24, 3 (2005),pp. 777–786.

[PA00] PREMOZE S., ASHIKHMIN M.: Rendering Natural Wa-ters. InPG ’00: Proceedings of the 8th Pacific Conferenceon Computer Graphics and Applications(Washington, DC,USA, 2000), IEEE Computer Society, p. 23.

[Pid05] PIDWIRNY M.: Fundamentals of Physical Ge-ography - Online Textbook. Available online athttp://www.physicalgeography.net (2005).

[PSS99] PREETHAM A. J., SHIRLEY P., SMITS B.: A practi-cal analytic model for daylight. InSIGGRAPH ’99: Pro-ceedings of the 26th annual conference on Computer graph-ics and interactive techniques(New York, NY, USA, 1999),ACM Press/Addison-Wesley Publishing Co., pp. 91–100.

[PTS99] PREMOZE S., THOMPSON W. B., SHIRLEY P.:Geospecific Rendering of Alpine Terrain. InRenderingTechniques(1999), pp. 107–118.

[SGI] SGI OPENGL PERFORMER:. Using Clip Textures. Avail-able online at http://www.sgi.com/products/software/performer/whitepapers.html.

[Sti99] STICKLER G.: Solar Radiation and the Earth System.Available online athttp://edmall.gsfc.nasa.gov/inv99Project.Site/Pages/science-briefs/ed-stickler/ed-irradiance.html (1999).

[TH04] THOMAS A., HERZFELD U.: Regeotop: New ClimaticData Fields for East Asia based on localized Relief Informa-tion and geostatistical Methods. InInternational Journal ofClimatology 24(2004), pp. 1283–1360.

[Ulr02] ULRICH T.: ’Super-size it! Scaling up to Massive Vir-tual Worlds’ course at SIGGRAPH 2002.Available online athttp://tulrich.com/geekstuff/chunklod.html(2002).

[Wlo05] WLOKA M.: Improved Batching via Texture Atlases. InShader X3: Advanced Rendering with DirectX and OpenGL(2005), Charles River Media, pp. 155–167.

Page 10: Procedural Reproduction of Terrain Textures with

ElevationF0

SlopeF1

RainfallF2

RadiationF3

TemperatureF4

Figure 6: Left: two real-time renderings of the Kazakhstan region with procedural texturing parametersacquired from real-world data. Please note, that the northern lakes andhuman cultivated regions were notconsidered during classification and parameter estimation and thus, as a consequence, do not appear in therendering. Right: the distribution histograms (y-axis: probability) of the vegetation surface type for thedifferent input quantities (x-axis, scaled/biased to domain [0;1)).

Figure 5: The RGB satellite image is converted intoHSV color space. Using these two color spaces al-lows a feasible clustering of pixels to surface types.

Figure 7: The hue-saturation histogram of the satel-lite image (which special treatment of gray col-ors) and the respective color table. The right im-age shows the classification of surface types forfour clusters: water (blue), vegetation (green), rock(brown) and snow (white).