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 |
|---|---|
| Assemble polygons to create 3D objects | glBegin/glEnd/glVertex |
| Optimize object display with display lists | glNewList/glEndList/glCallList |
| Store and transfer geometry more efficiently | glEnableClientState/ |
| glDisableClientState/ | |
| glVertexPointer/glNormalPointer/ | |
| glTexCoordPointer/glColorPointer/ | |
| glEdgeFlagPointer/ | |
| glFogCoordPointer/ | |
| glSecondaryColorPointer/ | |
| glArrayElement/glDrawArrays/ | |
| glInterleavedArrays | |
| Reduce geometric bandwidth | glDrawElements/ |
| glDrawRangeElements/ | |
| glMultiDrawElements |
In the preceding chapters, we covered the basic OpenGL rendering techniques and technologies. Using this knowledge, there are few 3D scenes you can envision that cannot be realized using only the first half of this book. Now, however, we turn our attention to the techniques and practice of rendering complex geometric models using your newfound knowledge of OpenGL rendering capabilities.
We begin with a basic overview of the many complex models assembled from simpler pieces. We then progress to some new OpenGL functionality that helps you more quickly move geometry and other OpenGL commands to the hardware renderer (graphics card). Finally, we introduce you to some higher level ideas to eliminate costly drawing commands and geometry that is outside your field of view.