We dived into an interesting technique widely used in game development that helps speed up the rendering process and makes scenes less complex.
Game environments include a handful of details to make it look diverse and to give them the desired atmosphere. Adding these details in 3D means that later on, we will need to render a big number of polygons, and the game will require quite powerful hardware to run.
To simplify the environment production as well as to minimize the polygons number and reduce draw call counts, game developers and artists use impostors.
Impostors is a technique used for a background of the game environment to fake 3D objects by using its texture maps and transfer them onto images or billboards.
This way, the number of polygons is much fewer which leads to spending less time to render a scene but the quality of the environment remains almost the same. The key point of this technique is to replace those 3D objects that aren’t in the main focus of the player’s view so he won’t spot the difference.
Aside from using impostors, the LOD level approach is also one of the common techniques to simplify the object’s geometry and reduce the number of polygons. LOD level works in all popular game engines, including Unity and Unreal Engine, and sets the level of detail seen by the camera. For this technique, each object will have its own LOD level and Mesh renderer. However, the LOD level can reduce the quality of the texture and make the environment look more simple than it was planned to be.
Impostor Implementation Process
In this case, impostors help save the quality of the detail and help speed up the rendering process. Generally, to create an impostor, you will need to generate a billboard, render all the perspectives of the 3D object into textures -- during this step, you have to make sure that you have all the needed information for a correct 2D image. The next step is to generate view and projection matrices. The view will require the position of the camera and of the billboard. In the classic technique of using impostors, you will have to change the billboard every time your camera moves since you’re using a 2D image to fake the 3D object.
Amplify Creations offers a new optimization solution for impostors, Amplify Impostors. The new solution focuses on the above-mentioned issue when you have to change the impostor every time when the game camera moves.
Amplify Impostors does the same process with getting the perspectives and rendering them into atlas textures, however, after this step, the advanced shader uses this data to generate the correct view according to the camera position and creates high-quality lighting and shadowing. The tool also creates a smooth view transition.
To learn more about the Amplify Impostors tool, how it works, and what are the advantages of it, read our interview with Ricardo Teixeira, with whom we had a chance to talk about it and who helped us cover this topic accurately.
If you are interested in technical details of how impostors work, NVIDIA has a thorough guide with explanations and functions of it. Read the article on the developer's website.