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