Environment mapping is a simple yet effective and efficient technique that allows you to map the surrounding environment effect to render 3D objects. There are two ways in which environment mapping can be used: reflection and refraction. In the former technique, rendered objects are mapped with the reflection of the surroundings, which shows the reflection of the surrounding view of objects. However, in the latter case, objects mapped with the refraction allow you to see through objects. These environment mapping techniques require cube mapping that we programmed in the previous recipe Skybox with seamless cube mapping. In this recipe, we will implement the reflection and refraction environment mapping.
For this recipe, we can reuse the Implementing Skybox with seamless cube mapping recipe and Rendering the wavefront OBJ mesh model recipes in Chapter 5, Working with Meshes. The former recipe does not require any...