This programs show how to build 3d objects and render them with OpenGL. Those shapes displayed here are very primitive, they were hard code in the source code.
When you come to some games, you will found that a lots of 3D elements were displayed there and the whole picture become so beautiful.
Most of those 3D elements are created with content create software package like Maya, 3D Max, Blender and so on. Those content created in other software package will be converted some format that the render engine could support. That means the vertex data, uv, lighting, texture maps, animation information will be ripped out from native content package file to some optimized engine format(only triangles supported, less vertex elements, some times even compress the float type to half, integer to short to reduce the memory used or the band width transforms from the vertex shader process unit to the pixel shader process unit). There are a lots of thing need to handle here, and the whole thing called visual assets pipeline. In some game developing projects, there are even more stuff involved here: like the auto assets exporter and compress tools, auto pack tools, and the continues integrate system or build system.
The difference between this sample with the previous sample is that, we build a 3d primitive here. We submit the GPU with real 3d objects.
The whole program run under the Ubuntu 10.4, you need to install the gcc, cmake opengl to compile and run it.
The full source code could be found here.