Full text: Proceedings, XXth congress (Part 4)

  
  
  
International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Vol XXXV, Part B4. Istanbul 2004 
  
Each terrain part is created as DEMFeatureProxy3D 
object. Afterwards all DEMFeatureProxy3D objects are 
assembled in the DEMLayer3D to build the entire terrain. 
Fig. 3 shows the final terrain object. 
   
Fig. 3: Created terrain object. 
3.2.2 Creation of Object Geometry with VisAD 
The actual 3D object content of one 
DEMFeatureProxy3D object is created with the means of 
VisAD, a Java component library for the visualization and 
analysis of numerical data (Hibbard, 2004). 
The following explains the reason for using VIsAD in this 
combination. The VisAD library is pure Java, including Java 
3D for the visualisation of 3D object content. Thus VisAD 
fits well into the GISterm Framework and the 3D-Service. 
This includes all basic concepts for the handling of 3D object 
content in the 3D-Service. 
The data for the creation of the terrain content is provided by 
the Height-Service. Afterwards the object geometry is created 
with the means of VisAD. The resulting objects contain pure 
Java 3D object content. This Java 3D object content is 
fetched from VisAD and included in the 
DEMFeatureProxy3D as geometry. 
3.3 Texturing Object Content 
By now we created the geometry of the terrain and included it 
in the virtual universe. Texturing techniques provide the 
possibility of adding a realistic impression or adding more 
information to the scene. 
3.3.1 What is Texturing? 
“Texturing, also called fexture mapping, is a way to add 
visual richness of a surface without adding the fine geometric 
details. The visual richness is provided by an image, also 
called texture, which gives the appearance of surface detail 
for the visual object.” (Java 3D Tutorial 2004). The image is 
mapped on to the geometry of the object content. 
3.3.2 Goal 
We can use texture mapping in our example for two different 
reasons: 
e One goal is to add a realistic impression of the 
terrain in the scene. This can be achieved by using 
satellite images or aerial views as texture. 
e Another goal is to add additional information into 
the scene. This can be achieved by adding specific 
images as textures. Topographic maps for example 
add much naming information, while geological 
maps can give hints about the underground 
situation in the presented region. 
520 
3.3.3 Texturing with Java 3D 
Java 3D provides classes and methods for adding texture 
images on top of the geometry objects, created with Java 3D. 
Thus, the 3D-Service uses Java 3D for texture mapping. 
Images used for texturing must fulfil two conditions: 
e The image must be saved in a file format, supported 
by Java3D. Examples for readable image formats 
are GIF or JPG. 
e "Java 3D requires the size of the texture to be a 
mathematical power of two (1,2,4,8,16,...) in each 
dimension" (Java 3D Tutorial 2004). 
Image fulfilling these conditions can be used as texture for 
Java 3D geometry. 
3.3.4 Creating the Texture Image 
The question is now, where does the texture image come 
from for our terrain example? The user should have the 
possibility to design the texture image. The user can 
individually create his own 2D map, including several 2D 
layers with appropriate content, in the base GIS GlSterm. 
This 2D map is used as texture image for our terrain example. 
Using the printing technique of GlSterm we can fetch a GIF 
or JPG file of the current display region. These image files 
can be saved in different resolutions (Normal, Middle or 
High). The better the resolution of the image is the higher is 
the number of pixel in the image and the bigger is the 
memory consumption. This is important because, depending 
on the image memory of the graphic card, the largest possible 
size of the texture image is limited. The main memory is not 
used. For example using a decent graphics chip (Nvidia 
GeForce4 Ti 4200) limits the size of the texture to 2048 * 
2048 pixel (Virtual Terrain Project 2004). Thus the decision 
for the resolution of the texture image is a compromise 
between good resolution and memory consumption. 
However, images fetched from GlSterm do not match the 
condition of power of two dimension sizes. 
Thus we need to do image manipulation before we can use 
the fetched image as texture. The ratio of the image 
dimension of the fetched image depends on the ratio of the 
displaying region in GlSterm. And usually both image 
dimensions have an unacceptable size. The dimension of the 
fetched image in our example is 1224 * 1036 pixel. 
   
Fig. 4: Textured terrain 
The idea to solve this problem is to divide the entire terrain 
into parts fulfilling the requested condition of the power of 
two dimension for a texture image. That means we decide on 
a texture part dimension, matching the power of two 
dimension. In our example we took a texture size of 512 * 
512 pixel. Then we split the terrain into parts (see section: 
Ini 
Lo 
. 
co 
as 
tel 
an 
te) 
te 
sh 
He 
res 
an 
MT 
Th 
th 
pr 
In 
pr
	        
Waiting...

Note to user

Dear user,

In response to current developments in the web technology used by the Goobi viewer, the software no longer supports your browser.

Please use one of the following browsers to display this page correctly.

Thank you.