|I do apologize, I did a mistake in my previous mail.|
I'm prototyping WebGL 2 from the OpenGL ES 3.0 specification, and not OpenGL 3.0.
Thanks you !
Well, we decide to put it behind a flag, because for instanced drawing (glDrawArrayInstanced for exemple), you need the gl_InstanceID in the vertex shader. And our actual ANGLE implementation doesn't support ARB_instanced_draw or gpu_shader4 yet. Therefore I did a ANGLE bypass if the WebGL context is a WebGLRenderingContext2 (for webgl 2) and if the shader has "#version experimental-webgl2" at the top of its code to be able to request EXT_gpu_shader4 at the shader compilation time. And it works fine. =) But bypassing ANGLE is a major security leak. Indeed, ANGLE check several security things in case of the driver don't. Also webgl 2 has a native support for MRT, which is only a extension draft for now. And sure, this is a prototype, it might have differences with the specs we are planing to do. Here are the mains reasons we put it behind a flag. =)
I'm prototyping WebGL 2 from the OpenGL 3.0 specification, and the WebGL 1 API philosophy (gl.createQuery instead of glGenQueries …).
Thanks for that info Guillaume. Will that be going out behind a flag at some point? Or will you wait until the spec is ready?
I also see that ETC is going to be a core feature of GL 4.3, and that the aim is for GL 4.3 to be a proper superset of the ES 3.0 spec.