Fixed Function Programmable Shader <<interface>> GL3bc <<interface>> GL <<interface>> GL4 <<interface>> GL2ES1 <<interface>> GL4bc <<interface>> GLES1 <<interface>> GL2 <<interface>> GL2ES2 <<interface>> GL3 <<interface>> GLES2 <<@interface>> GL4ES3 GLContext GLDrawable <<metaclass>> GL2ES3 GL4bcImpl GLES3Impl <<interface>> NativeWindow AbstractGraphicsConfiguration GLCapabilities GLProfile <<interface>> GLBase Desktop final public OpenGL Interfaces Mobile final public OpenGL Interfaces Private implementation (detail) Desktop/Mobile Common Interfaces Lifecycle: From the lower right to the top, left step where the GLContext is created with a suitable GL implementation matching the GLProfile. Common GL Stuff Common Desktop Profile <<@interface>> GLES3 <<interface>> GL2GL3 GLES1Impl Capabilities <<@interface>> GL3ES3 1 1 1 0..1 requested 1 1 chosen