Why is 3D computer graphics still unrealistic

Computer graphics

Chapter 1. Introduction

Electronic data processing has undergone a breathtaking development over the past six decades. It was made possible by new findings in hardware technology, the miniaturization of components, the increase in computing speed and storage capacity, the parallelization of processing sequences and, last but not least, the enormously lower costs. At the end of the 60s of the last century, for example, the price for a bit of semiconductor memory was given as around 0.50 euros (then still 1.- DM). According to this, 1 GB of main memory for a computer would have cost over 4,000,000,000 euros.
Alfred Nischwitz, Max Fischer, Peter Haberäcker, Gudrun Socher

Chapter 2. Relationship between computer graphics and image processing

Why do you combine the areas of computer graphics and image processing in one book? Because they are the two sides of the same coin: while in computer graphics an image is generated from an abstract object description, in image processing one tries to recognize the objects contained in the image after the extraction of characteristic features and thus to arrive at an abstract object description (Fig 2.1). In other words: computer graphics are the synthesis of images and image processing is the analysis of images. In this sense, computer graphics is the inverse operation of image processing.
Alfred Nischwitz, Max Fischer, Peter Haberäcker, Gudrun Socher

Chapter 3. Interactive 3D Computer Graphics

Computer graphics in general can initially be divided into two categories: on the one hand, interactive 3D computer graphics, also known as real-time 3D computer graphics, and, on the other hand, non-real-time 3D computer graphics. As the name suggests, the essential element of real-time 3D computer graphics is interactivity, i.e. the reaction of the system - i.e. the computer-generated image - to inputs, e.g. from a computer mouse, appears within a short time. Ideally, the response to inputs is so quick that a human observer does not notice delays due to the computationally intensive image generation.
Alfred Nischwitz, Max Fischer, Peter Haberäcker, Gudrun Socher

Chapter 4. Applications of Interactive 3D Computer Graphics

The enormous increase in the performance of graphics computers has led to the fact that 3D computer graphics have found their way into almost all computer applications today. This chapter deals with a selection of current application examples of interactive 3D computer graphics, which are intended to provide a certain overview.
Alfred Nischwitz, Max Fischer, Peter Haberäcker, Gudrun Socher

Chapter 5. Introduction to 3D Computer Graphics

In a practical introduction to 3D computer graphics, the first question that arises is what graphics programming interface (API) should be used for this. On the one hand, internationally standardized standards would be appropriate here, such as GKS (Graphical Kernel System) [Iso85] or GKS-3D [Iso88] or PHIGS (Programmer's Hierarchical Interactive Graphics System) [Iso89] or PHIGS + [Iso91], the can be used in many earlier standard textbooks on computer graphics (see [Enca96], [Jans96], [Hugh13]). However, these graphics standards have never been able to establish themselves in practice because they are far too general or cumbersome and do not use or only insufficiently use the possibilities of acceleration through graphics hardware.
Alfred Nischwitz, Max Fischer, Peter Haberäcker, Gudrun Socher

Chapter 6. Basic geometric objects

3D computer graphics have a constructive character: as a starting point for rendering, an abstract description of three-dimensional objects must first be created before a two-dimensional projection of the entire scene from a certain angle can be calculated for an eighth screen. For the modeling of 3-dimensional objects, different methods have been developed in 3D computer graphics, depending on the application, which are explained below.
Alfred Nischwitz, Max Fischer, Peter Haberäcker, Gudrun Socher

Chapter 7. Coordinate Systems and Transformations

The previous chapter showed how to model geometric objects in 3D computer graphics. This chapter shows how to position these objects in a scene, how to determine the position and angle of view of a camera that virtually photographs the scene, and finally how to specify the dimensions of the final image that is displayed in a window on the screen shall be. All of these actions are achieved through appropriate coordinate transformations.
Alfred Nischwitz, Max Fischer, Peter Haberäcker, Gudrun Socher

Chapter 8. Concealment

An important aspect of spatial perception is the obscuring of objects in the background by (opaque) objects in the foreground. The mutual obscuration of objects gives us a reliable indication of the distance between the objects and the eye point. Because an object A that is further away from the eye point than an object B can never cover it.
Alfred Nischwitz, Max Fischer, Peter Haberäcker, Gudrun Socher

Chapter 9. Color, Transparency, and Color Mixing

The actual goal of interactive 3D computer graphics is to generate a color image in a screen window. This window consists of a rectangular arrangement of individual picture elements (pixels), each of which can display its own color.
Alfred Nischwitz, Max Fischer, Peter Haberäcker, Gudrun Socher

Chapter 10. Anti-Aliasing

On closer inspection of almost all previous pictures in this book, it is noticeable that inclined lines and edges are not smooth, but rather have a so-called “stair step effect” (Figure 10.1). The reason for this lies in the nature of the digital image generation and processing itself: because here an image consists of a finite number of pixels that lie on a rectangular grid. In this environment, an ideal inclined line can only be approximated by pixels that lie on this grid, so that the line jumps from one pixel line to the next, more or less frequently, depending on the gradient. If the line is also moved slowly, the local discretization also results in a temporal discretization, i.e. the line does not move continuously across the pixel grid, but jumps forward by one grid position at certain points in time. In addition, our perception system directs its attention in particular to local and temporal jumps in signals, so that this so-called "aliasing" effect is very disruptive.
Alfred Nischwitz, Max Fischer, Peter Haberäcker, Gudrun Socher

Chapter 11. Fog and Atmospheric Effects

Computer-generated images often appear unrealistic because they are far too "clean". In our natural environment, on the other hand, there is always a certain amount of air pollution from small dust particles or water droplets. Reflected or emitted light from surfaces is therefore scattered or completely absorbed by the small impurities on its way through the air. This attenuation of the light intensity leads to a fading of objects further away, which is an important aid for the human perception of spatial depth. Depending on a particle concentration in the air that is assumed to be spatially constant, a certain percentage A of the incident light intensity I is absorbed for each length dz that the light travels.
Alfred Nischwitz, Max Fischer, Peter Haberäcker, Gudrun Socher

Chapter 12. Lighting and shading

Lighting and shading are essential elements so that computer-generated images on a 2-dimensional screen produce a 3-dimensional impression on the human observer. Only when an object is illuminated with a light source and the associated shadowing of the sides facing away from the light is the 3-dimensional shape of the object reconstructed in the observer's brain. In technical jargon, this process is called "shape perception from shading" (shape from shading, [Rama88]). The three-dimensional model of a triceratops with direct color assignment (as explained in Chapter 9) is shown in Figure 12.1-a.
Alfred Nischwitz, Max Fischer, Peter Haberäcker, Gudrun Socher

Chapter 13. Textures

So far, all colors that can be assigned to an object were assigned to the vertices either directly or via a lighting model. The colors of the pixels of an object visible on the screen were interpolated from the vertex colors and vertex normal vectors using different shading methods (Flat, Gouraud, Phong). By assigning a few vertex colors, the colors of all pixels of an object are also indirectly determined. Objects that are rendered with this method have monotonous color gradients and therefore appear plastic-like and artificial. Real surfaces, such as house walls, lawns, billboards, fur or fabric almost always have a certain regular or irregular structure, which is called "texture". While image processing is primarily used to extract features for segmentation from textures (Volume II, Chapter 15), textures are used in computer graphics to cover the surface of objects with a structure. A now classic example of a texture is a completely normal photo that is mapped onto a polygon mesh (Figure 13.1). With this technology, the breakthrough to a new level of quality, the so-called “photo-realistic computer graphics”, was achieved in the course of the 1980s.
Alfred Nischwitz, Max Fischer, Peter Haberäcker, Gudrun Socher

Chapter 14. Shadows

Shadows are an important source of information for the three-dimensional reconstruction of objects and scenarios. Shadows provide important information on the spatial arrangement of objects in a scenario, on the shape of shadow donors (so-called "blockers") and shadow receivers (so-called "receivers") and to a certain extent also in areas that are not directly from the eye point are visible.
Alfred Nischwitz, Max Fischer, Peter Haberäcker, Gudrun Socher

Chapter 15. Animations

In the previous chapters on 3D computer graphics, one essential element was missing: movement. In order to teach the images to "walk", i.e. to achieve a continuous impression of movement, at least 24 images / second are necessary. From this image generation rate onwards, people no longer perceive individual images in which the objects or the entire scene are shifted piece by piece, but rather the impression of a fluid movement is created. This so-called
Alfred Nischwitz, Max Fischer, Peter Haberäcker, Gudrun Socher

Chapter 16. Acceleration Techniques for Real-Time 3D Computer Graphics

All the examples of interactive 3D computer graphics shown so far have one thing in common: the scene consists of a single object or at most a few objects, which are usually completely contained in the visible volume (viewing frustum). These simple scenes are ideal for illustrating the basic principles of computer graphics. Real applications, as presented in Chapter 4, have a much greater scene complexity in contrast to the teaching examples. A truck simulator e.g.
Alfred Nischwitz, Max Fischer, Peter Haberäcker, Gudrun Socher

Chapter 17. GPU programming with CUDA and OpenCL

This chapter gives a well-founded overview of the current possibilities of "General Purpose" programming of graphics hardware (better known as GPGPU, General Purpose Computation on Graphics Processing Unit). The two technologies CUDA (Compute Unified Device Architecture, NVIDIA proprietary, [NVIb]) and OpenCL (open standard of the Khronos consortium, [Khr]) are described, knowing full well that DirectCompute (Microsoft) is another technology in this field exists.
Alfred Nischwitz, Max Fischer, Peter Haberäcker, Gudrun Socher

Backmatter