CHAPTER 4
VISUALIZATION TECHNOLOGY
INTRODUCTION Ian D.Bishop and Eckart Lange
Development happens fast in computer hardware—the famous Moore’s law suggests a doubling of capability every 18 months. At the time of writing there was opinion that the trend in graphics performance was an astonishing six-month doubling time. We have endeavoured, therefore, to provide information here that will retain currency because it refers to hardware or software issues that remain the same irrespective of speed of performance.
The chapter first reviews the significance of hardware to computer graphics performance. Oliver Deussen and colleagues then review the role of software design in effective environmental visualization, while Adrian Herwig and others explore the potential of game engines for landscape design and decision making. Finally, we review the ways in which the wonderful imagery we are now able to create can be displayed.
In reviewing these technological options, we have tried to give not only a sense of the technology itself but also how it has been used by researchers or practitioners in the context of landscape and environmental planning.
The significance of computer power
Rendering is the process of taking a three-dimensional model, defined by the location of surfaces in space and their surface material, and creating images of those surfaces under specified lighting conditions. The process was pioneered in research laboratories in the 1960s and made its way gradually into modelling, animation, CAD and related software products (see also Chapter 1). One of the distinguishing characteristics of visualizations, as identified in Chapter 2, is the degree to which the user can interact with the display.
This is a function of the speed with which pictures can be rendered. If pictures can be created very fast then the user can interact with the presented data or scene in real time, i.e. user action produces a new picture almost instantaneously. Rendering speed is normally measured as the number of pictures the computer can produce per second (frames per second—fps) and is then called the frame rate. It is widely agreed that 30 fps is real time and that 2 fps is not. Between these rates, whether a display feels interactive depends on how fast any camera movement needs to be and what kinds of interactions are being supported.
The achieved frame-rate depends on the power of the computer, the complexity of the modelled world and the sophistication of the software. In this section the basis of
computer power (the various elements that can contribute to the frame rate) is reviewed.
The discussion is based on the visualization of three-dimensional virtual environments.
Until recently, the performance of a computer was considered primarily in terms of its central processing unit (CPU), the faster and more efficient this was the better. Over the years CPU performance has increased at a remarkably steady rate as exemplified by Moore’s law. An engineer from the computer chip maker Fairchild Semiconductor, Gordon Moore in 1965 published a paper (Moore 1965) in which he found, using data since 1959, that the chip content had been doubling each year. He predicted this could go on for another 10 years. Development has been tracked since and the trend still continues although the doubling time is now usually reckoned as about 18 to 24 months (Figure 4.1).
However, CPU power is not everything—especially when it comes to real-time visualization. Since 1992, with the release by Silicon Graphics (now SGI) of their Reality Engine, the chase has been on for faster graphics performance through specialized graphics processors. This is typically an extra processing card added into the computer and linked to the CPU (on the mother board) via either the standard internal communications bus (e.g. PCI) or a specialized graphics port: e.g. Advanced Graphics Port (AGP).
On the left of Figure 4.2 is the motherboard with the chipset, the memory, the CPU and AGP slot. In terms of graphics performance this can be seen as one entity, sometimes called the platform. Here, the software reads the dataset describing the virtual environment. A viewpoint is specified through the user interface and the platform determines all the objects, lights, textures, behavioural rules and so forth that are relevant to the creation of the next image.
4.1 The continuing growth of CPU
power over 30 years based on Intel
computer chips
4.2 The basic configuration of a PC with graphics accelerator card
The vertices which describe the basic geometry of the model are passed to the transformation and lighting unit. Here they are transformed from world coordinates to the perspective coordinates of the camera/viewer. Basic lighting calculations can be done at the same time. The results of this process are passed to the render unit. The 3D-card then completes the rendering and gets the resulting picture from the frame buffer to the screen.
Ideally, the main processor and the graphics card can do their respective jobs at a similar rate. Whichever is the slower will determine the frame rate of the computer. Depending on the application, the graphics card often has much more work to do and so is the key constraint.
The frame rate of the graphics card is also dependent on screen resolution. One of the key specifications of the graphics card is its fill rate. This describes the number of pixels that a card can render in a given amount of time. The 3D-chip has to ‘render’ each pixel of a frame before the frame can be displayed. Nowadays, 3D-chips have several rendering pipelines that can operate in parallel. Such a pipeline is usually able to render one pixel per clock cycle. Thus, the maximal pixel fill rate is the 3D-chip clock speed times the number of rendering pipelines times the number of chips. If this adds up to, for example, one billion pixels/second then one can quickly determine a frame rate based on screen resolution. Two million screen pixels can, in theory, be refreshed in the frame buffer 500 times per second. However, we do not actually see speeds like this because the platform cannot delivery data for the frames that fast and there may also be a limitation caused by the speed at which data can be moved into or out of memory (the memory bandwidth).
Visualization technology 49
In Figure 4.2 the load on local memory becomes clear. There is a great deal of passing of information between the renderer and the memory.
1 The local memory hosts the frame buffer, which must store two or three pictures at once (the one on the screen, the one waiting to go on the screen next, and sometimes a third). If 32 bit colour is being used, that means up to 12 bytes/pixel. The frame buffer needs to be accessed by the rendering unit for each pixel several times.
2 The Z-buffer (for determining which objects are visible and which are hidden) is also as big as the screen resolution times the Z-buffer depth. It, too, is accessed several times per frame depending on the number of objects being rendered.
3 Then there is the texture buffer, which holds compressed or uncompressed textures for fast access by the rendering unit. Textures may need to be read several times for each pixel.
4 The transformation and lighting unit requires memory access but this is a lot less than the demands above.
5 Finally, there is the RAMDAC (Random Access Memory Digital-to-Analog
Converter), which needs to read the front frame buffer to display it on the screen. The higher the resolution and the higher the display refresh rate, the more often the RAMDAC has to access the frame buffer.
Consequently, if you compare graphic card specifications, you commonly see a lot of emphasis being placed on the memory clock speed and, especially, the memory bandwidth of each card.
As an example, one current graphics card has a 17.6 gigabyte/second memory bandwidth. However, it can output at resolutions up to 3048 x 1024—over 3 million pixels. So, if the frame and Z-buffers require 24 bytes/pixel and are accessed on average 3 times per pixel draw then the potential frame rate is already limited to around 80 fps without taking account of the texture buffer or the transfer to screen.
In terms of graphics performance we can look for some equivalent of Moore’s law for graphics processors. If we simply take pixel fill rate (possibly not the best indicator but one that has been quoted for some years) we can see something of the trend (Table 4.1).
The bottom line is that today’s PC cards costing a few hundred dollars exceed the fill rates of all but SGPs million-dollar RealityMonster of earlier years. It appears from this table that there has been a tenfold increase in performance over the past five or six years.
That is, a doubling rate well under 12 months.
EFFICIENT MODELLING AND RENDERING OF LANDSCAPES Oliver Deussen, Carsten Colditz, Liviu Coconu and Hans-Christian Hege Effective generation of virtual landscape in real time depends not only on fast hardware but also on efficient algorithms for drawing the land and the vegetation. In botany, such models can be used for simulating plant growth and genetic expression, for evaluating mathematical models applied to backscattering measurements and for visualizing spatio-temporal processes. In the movie industry they are used for modelling special effects or special plants that cannot be found in nature. In computer games they are used for
synthetic backgrounds. The different applications need different models but, generally, the desire for very detailed visual plant descriptions grows as fast as computers are able to handle those complex models.