The code in these directories is organized by chapters. There is a REAME in directory that describes the examples. All are examples from the text and include many examples that are not in Appendix A. Readers of previous editions will notice that most of the examples are reworked examples from the fifth edition to be compatible with OpenGL 3.1. The old code is on this website and makes an interesting comparison. The Common directory has only the InitShader source code. The Include directory has the usual OpenGL includes under the GL subdirectory. Note you will only need the freeglut includes if you use freeglut instead of glut. This directory has the Angel.h header files which will do most of the includes for you, assuming that you are using freeglut. It will include the vector and matrix classes in vec.h and mat.h. Note the examples all use Angel.h and the related namespace directive. The libraries in the lib directory are for use with Windows under cygwin. We tested all the examples on cygwin (linux under Windows). The way freeglut is setup can require the its lib file to be in the same directory as the application. More on this later. I am slowly adding WebGL versions of the examples under the WebGL folder. There is an example of using GLFW insteas of GLUT in the GLFW folder.