Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
By Richard S. Wright, Jr.
WHAT YOU'LL LEARN IN THIS CHAPTER:
| How To | Functions You'll Use |
|---|---|
| Specify a color in terms of RGB components | glColor |
| Set the shading model | glShadeModel |
| Set the lighting model | glLightModel |
| Set lighting parameters | glLight |
| Set material reflective properties | glColorMaterial/glMaterial |
| Use surface normals | glNormal |
This is the chapter where 3D graphics really start to look interesting (unless you really dig wireframe models!), and it only gets better from here. You've been learning OpenGL from the ground up—how to put programs together and then how to assemble objects from primitives and manipulate them in 3D space. Until now, we've been laying the foundation, and you still can't tell what the house is going to look like! To recoin a phrase, “Where's the beef?”
To put it succinctly, the beef starts here. For most of the rest of this book, science takes a back seat and magic rules. According to Arthur C. Clarke, “Any sufficiently advanced technology is indistinguishable from magic.” Of course, there is no real magic involved in color and lighting, but it sure can seem that way at times. If you want to dig into the “sufficiently advanced technology” (mathematics), see Appendix A, “Further Reading.”
Another name for this chapter might be “Adding Realism to Your Scenes.” You see, there is more to an object's color in the real world than just what color we might tell OpenGL to make it. In addition to having a color, objects can appear shiny or dull or can even glow with their own light. An object's apparent color varies with bright or dim lighting, and even the color of the light hitting an object makes a difference. An illuminated object can even be shaded across its surface when lit or viewed from an angle.