The rendering pipeline
When drawing something on the screen, a certain sequence of steps must be followed in order to submit the geometry, convert it to pixels, and color them all appropriately. This particular sequence of steps is often referred to as the rendering pipeline. How it functions depends entirely on the version of OpenGL you are using. Versions below 3.0 use what is called a fixed function pipeline, while newer OpenGL releases of 3.0 + utilize the programmable pipeline. The former is now deprecated and is referred to as legacy OpenGL, while the latter is widely used and applied, even on mobile devices, and has become the standard.
Fixed function pipeline
Actually drawing things on screen with the fixed function pipeline is much easier than the modern way of doing things, but it comes at a price. Consider the following example:
glBegin(GL_TRIANGLES); glColor3f(1.0f, 0.0f, 0.0f); // Red glVertex3f(-0.5f, -0.5f, 0.5f); glColor3f(0.0f, 1.0f, 0.0f); // Green glVertex3f(-0...