the real visualisation of vegetation as this has been of special
interest in game engines in the last years and big progress has
been achieved.
2. INDOOR VISUALISATION WITH
GAME ENGINES
Today, 3D computer games are highly complex systems that
consist of a universal game engine and the specific game
elements like the game rules and game data (e.g. geometry,
textures and sound files). Main emphasis is put here in the
game engine. This module is the heart of the computer game
and represents the basic framework independent of the game.
This general purpose feature allows the use of the engine for
other applications, e.g. the indoor visualisation of building
elements. Game engines incorporates all sorts of elements
that are vital to a game like physics, graphical user interface
(GUI), artificial intelligence, network functionality, sound
and event engine. Some game engines even contain scripting
languages which makes it very easy to adapt the engines to
one's own needs.
The computer games Quake III Arena (developed by id
Software) and Max Payne (developed by Remedy
Entertainment Ltd.) are action games, also called 3D Shooter
or First Person Shooter. The player moves around in an ego-
perspective and fights by means of several weapons within
the 3D world. This can be done either alone in single player
mode or with multiple players in a network environment like
e.g. a LAN or the internet. Both games have in common that
the visualisation engine is what's generally called an indoor
engine. These engines are optimised by the use of specialised
indoor speed-up techniques like portal culling, a very popular
technique first introduced by (Airey, Rohlf and Brooks Jr.,
1990). Based on the idea that walls are often large occluders,
a viewer can only see into adjacent rooms through portals,
which can be e.g. a door or a window. A potentially visible
set (PVS) is pre-computed for all sets of viewpoints, a sort of
database from which the rooms that are visible to the viewer
are identified. For densely occluded architectural scenes, the
algorithm is able to cull away the better part of the scene.
Unfortunately, because the engines support very detailed
environments, the virtual worlds are rather small and
delimited.
2.1 Data Acquisition and Integration
The aforementioned game engines are of notable interest as
both offer very good support for modifications. The game
related parts are available as source code and there exist free
editors for the creation of virtual 3D environment, which are
in the context of game engines usually called maps. These
maps are modelled via Constructive Solid Geometry (CSG)
by logically combining simple forms like cuboids, pyramids
and spheres. It is well-advised to create a coarse model before
modelling the finer elements of the map. The resulting
geometry can then be texture mapped with images that can
either be artificial or be generated from photographs. AII
necessary steps are demonstrated in Figure 2 (Beck 2002).
Once the map is complete, it can not yet be used by the game
engine, because the engine itself does not understand the data
that comes from the editors. So the map must first be
compiled with designated tools that transform the CSG data
into a boundary representation (B-Rep). In order to improve
the performance of the scene rendering, the visibility
database is generated and the lighting and shading are pre-
International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Vol XXXV, Part BS. Istanbul 2004
| Fine Geometric i 3D Map
Coarse i 3D Map
: Modelling Compilation
Geometric Compilation
Modelling
Texture Texture Texture
Collection
Processing Mapping
Figure 2. Workflow for generating 3D textured maps in
Quake III Arena (Beck, 2002).
computed (Abrash, 1997). The whole compilation process is
also depicted in Figure 3 (Beck 2002).
A serious problem is, however, that existing datasets are
unlikely stored in a format that the game engine's map
compilers do understand or support. But fortunately, the
game tools are often available as source code so that the
compilers can be modified to one's own needs.
> In
BRen P BSP » vis
LAL Compilation
Q3Radiant Editor Reiss
Lighting E
Segue morte een
coma rs
Quake Ill Arena
—— a
Figure 3. Compilation process in Quake III that transforms
a CSG model into a boundary representation and
pre-computes a potential visibility set and light
maps (Beck, 2002).
2.2 Analysis Functionality and Interactivity
The analysis of data is a very important aspect of GIS. Even
though game engines do not offer a great variety of that kind
of functionality, they at least feature some interesting
possibilities. By means of adding new entities to the Quake 3
Arena engine, it is possible in the Q3Radiant editor to define
new data that can be bound to every object in the map. (Beck,
2002) e.g. realises a thematic query in this way where the
objects are prompted by “shooting” at them. By removing the
weapons from the game, the result is a simple point and click
mechanism. The underlying object data, which is textual
information about rooms and workspaces, is then displayed
on the screen (Figure 4).
Another engine element of great use is the path finding
algorithm that is utilised by the artificial intelligence unit to
control the non-player characters in the game. This
functionality can be turned into an indoor navigation system
that guides the user through the virtual building. (Pfeiffer,
2002) implements a virtual museum guide that walks the
visitor through the exhibitions using the routing and trigger
functionality of the Max Payne game engine (see Figure 5).
Inter
——
Figu
The
the
Cros
and
alre
and
ver:
eng
libr
ava
Uni
rele
con
nee
app
The
hea
tec]
des