Does MetalGL pass 100% GLES2 conformance testing on OSX?
My main interest in MetalGL is actually not the fact that it uses Metal. Of course that is great and I hope it offers performance benefits.
However, my primary interest is just that writing cross-platform C++ OpenGL ES 2 (GLES2) code that runs on OSX (in addition to Windows, Linux, iOS, Android, Emscripten, and others)
For Windows I am using Google’s ANGLE project too achieve this (for Windows 10 Mobile and Windows UWP, Microsoft has a fork of ANGLE)… But ANGLE does not yet support OSX, and MetalGL is the only project I’ve seen thus far that runs GLES2 on OSX.
OSX has ARB_ES2_compatibility but in reality I had to modify my GLES2 code (that works on all the other platforms) to run on OSX because there are differences like… Instead of glGetString(GL_EXTENSIONS), I have to use glGetIntegerv(GL_NUM_EXTENSIONS, &max) + glGetStringi(GL_EXTENSIONS, n). A bigger example is that GLES2 core does not support VAOs, but OSX requires a VAO (vertex array object) to be bound.
Because OSX is the only platform (except game consoles) without real GLES2 support, MetalGL’s OSX support has great potential to be useful in filling this gap. For many projects, using MetalGL to port from iOS (or Android) is a great final solution. For other projects, MetalGL’s OSX support can still be a useful incremental step – ie use MetalGL’s OSX support to get everything working as expected on OSX with GLES2 code, then write an optimized desktop OpenGL or desktop Metal rendering backend.
It is very important that the licensing model has an unlimited time Free Trial because that way non-commercial developers can use MetalGL for learning purposes (or prototyping purposes) and to give feedback to MetalGL developers… Then anyone who wants to actually release a real project (ie a commercial project) can buy a paid license.
MetalGL on OS X has not yet undergone Khronos’s OpenGL ES conformance test. Full conformance is indeed the intention, but we expect to wait until OpenGL ES 3 support is complete in MetalGL, and perform conformance testing then.
We agree with you that a fast, solid OpenGL ES implementation on OS X will fill a key hole in cross-platform development for both OpenGL ES and WebGL.
MetalGL‘s trial license is indeed unlimited time. We agree that developers should be confident that they are getting what the need before having to pay for a license!