Which OpenGL version used?

Hello, i’m new to OpenFL and interested with drawing directly with OpenGL.

Looking at the sources of OpenFL-3.5.3 , i’ve seen that GL lib was imported from Lime.

Looking at Lime-2.8.2/graphics/opengl , i wonder which tree of OpenGL is used. Is it core or GL-ES ? Looking at the samples, it seems to me that’s it core version, but what about Android compatibility ?

GL.hx is full of macros like this:

public static inline function compileShader (shader:GLShader):Void {
            #if (js && html5 && !display)
            context.compileShader (shader);
            #elseif ((cpp || neko || nodejs) && lime_opengl && !macro)
            lime_gl_compile_shader (shader.id);
            #elseif java
            GL20.glCompileShader (shader.id);


I guess that means that several versions of OpenGL are melted in, and Lime provides an unique interface to them.

Of course, that’s a good new for me, but what is the common denominator ? OpenGL-Core or GL-ES ?
Are there OpenGL functions unavailable on some platforms ?

Thank you for reading.

I think OpenFL/Lime sticks close to the WebGL API for consistency across platforms but this is implemented behind the scenes using GLES, GL and ANGLE.

I think most GL compatible cards support GLES but GLES devices will not support the full feature set of GL so to aim for a common denominator GLES is safer.