Transfers polygon geometry to vertex buffer objects and draws geometries from vertex buffer objects. GeometryEngine handles polygon geometries.MainWidget extends QOpenGLWidget and contains OpenGL ES 2.0 initialization and drawing and mouse and timer event handling.It compiles also without OpenGL support but then it just shows a label stating that OpenGL support is required. This example has been written for OpenGL ES 2.0 but it works also on desktop OpenGL because this example is simple enough and for the most parts desktop OpenGL API is same. In addition it shows how to use quaternions for representing 3D object orientation. It shows how to handle polygon geometries efficiently and how to write a simple vertex and fragment shader for a programmable graphics pipeline. The Cube OpenGL ES 2.0 example shows how to manually rotate a textured 3D cube with user input, using OpenGL ES 2.0 with Qt.