What DirectX 11 is, and What It Means to You
Postprocessing Effects
Making graphical magic after the image is rendered
Postprocessing is where effects are applied to the 3D image after the frame is rendered. The term postprocessing comes from the film industry, where effects are added to movies after the movie is actually shot.
Postprocessing is really a catch-all for special effects that are generated, typically with shader programs, and aren’t necessarily part of an existing graphics API. Of course, the GPU itself needs to be programmable.
Adding effects to rendered frames first began to show up with DX9 games. We’ve seen increasing use of postprocessing effects in DX10 and now, DX11 titles. A wide variety of postprocessing effects are possible; examples include depth of field, heat distortion, wet distortion, bokeh, dynamic blur, and film grain.
Some of these effects can be used to add realism to a scene. Heat distortion above a fire or hot desert sand is a good example of that. Other effects actually make the game less realistic, but more cinematic. Examples of these include depth of field, film grain, and bokeh effects. (Bokeh is the blurriness you see in out-of-focus areas of a photograph. The quality of the bokeh is one of the parameters used to rate the quality of a camera lens.)
Without Bokeh
With Bokeh
In Just Cause 2, you'll see bokeh effects when you use an Nvidia graphics card.
We’ve all seen these effects in movies and television, but rarely experience them in real life. Game developers add these effects to make their games seem more like big-screen movies. This makes sense in some games, like the over-the-top action of the recently released Just Cause 2, which emulate big-budget action movies in their overall feel. If you have an Nvidia-based graphics card running with the PC version of Just Cause 2, you’ll see bokeh effects in action.
The use of bokeh helps to focus the player’s attention on whatever is nearby. Clever shader-program writing can give developers granular control over the effect, as we see in the AMD Ladybug depth-of-field demo (downloadable from the AMD developer website.) This demo gives the user control over aperture settings, as if they were shooting with a camera. Stopping the camera down results in a soft blurry background behind the sharply focused image. Opening up the aperture brings the background into better focus.
In AMD's ladybug demo, you can control aperture settings to change the background's focus.
The game Borderlands (below) uses depth of field to focus your attention on whatever you’re aiming at with your weapon.
Programmable shaders took a big step forward with DirectX 11. Previously, if a programmer wanted to add multiple effects to a scene, the shader program became large and unwieldy. Now they can call in shader routines as needed, allowing for more efficient writing of shader programs and more efficient use of effects.
Borderlands uses depth of field to focus your eye on an object you’re aiming at. In the screen on top, everything is in focus, but when the player takes aim, only the target in the foreground is in focus, as seen in the screen on the bottom.
Next page: The Performance Impact >>