Mipmapping

Tutorial

·

intermediate

·

+0XP

·

10 mins

·

(99)

Unity Technologies

Mipmapping

In this tutorial, we discuss why mipmaps provide an optimized solution for displaying detailed Textures for mobile devices.

Languages available:

1. What is Mipmapping?

Mipmaps are copies of a Texture that are saved at decreasingly lower resolutions. Think of mipmapping as being the equivalent of Level of Detail (LOD) but for Textures.

When a Texture with mipmaps is rendered, an appropriate level is selected for sampling based on how much Texture-space a fragment of pixels occupies in screen space. When an object is farther from the camera, a lower-resolution Texture is applied. A higher-resolution Texture is applied when an object is closer to the camera.

Mipmapping improves both performance and quality of mobile applications because the GPU doesn’t need to render full-resolution Textures on objects that are far from the camera.

Mipmapping also reduces Texture aliasing, which improves the final image quality. Texture aliasing causes a flickering effect on areas that are farther from the camera, as shown in the image below.

Unity automatically creates mipmaps, as they’re needed when importing Textures, and then rescales Textures that are not power of two. More information about importing Textures can be found in the Unity documentation.

2. Conclusion

Mipmaps are an essential tool for runtime Texture optimization for 3D objects that vary in distance from the camera. In the next tutorial, we’ll cover more advanced techniques, like UV unwrapping, optimizing for visual impact, and Texture channel packing.

Complete this tutorial