This chapter continues using the 3D world of chapter 16, but as a setting to demonstrate four new coding techniques:
The screenshots on the right show the TourModelsGL application without the fog, and with it. The four OBJ models are a penguin (a mesh wrapped in a single texture), a couch (employing a single red material), a rose in a vase with several different colors, and a racing car decorated with several colors and textures.
TourModelsGL reuses the checkerboard floor from the previous chapter, but I've removed the skybox, billboard trees, the rotating sphere, the splash screen and the game over message in order to simplify the code.
I'll start this chapter by describing the OBJ format and the key elements of my OBJLoader package, and illustrate its use in a simple model viewer, ModelLoaderGL (shown on the right).
The model's name is specified on the command line, along with the display size and whether the model should be rotated.