I liked Quads. It was easy to create ex02 using quads, because all polygon rendering modes (point, line and fill) looked great with the same Geometry. Modern OpenGL removed Quads and he have to made do with triangles. And when rendered as lines, the triangles leave us with nasty diagonals. In this exercise I use GL_LINES_ADJACENCY to hack my way into a 4 vertex primitive i.e. quad. Reproducing ex02 is more complicated because I need 3 different Geometry shaders. I try to solve that using ARB_separate_shader_objects.