Image processing is another class of techniques commonly used in 3D graphics. Human eyes perceive the world around us in a way that is almost impossible to simulate directly. There are many effects which cannot be displayed by just drawing a geometry. For example, bright areas seem larger than dark areas (this is usually referred to as bloom); objects seen at our focus point are sharp, but the further from the focus distance, these objects become more fuzzy or blurred (we call this effect a depth of field); color can be perceived differently during the day and at night, when with very little lighting, everything seems more blueish.
These phenomena are easily implemented as post-processing effects. We render the scene normally into an image. After that, we perform another rendering, this time taking the data stored in an image and processing it according to a chosen...