June 18, 2015 at 8:48 pm #598
Do you think Apple will implement this themselves in the next one or two hardware revisions? I don’t imagine they’ll rewrite their current opengl drivers on top of metal, but for new hardware I’d imagine they would implement metal support and then roll opengl on top of that.
I could be wrong, but I believe Apple implemented ES1 on top of ES2 after it was introduced and did the same for ES2 after ES3 was introduced.
MaxJune 18, 2015 at 11:13 pm #600
You ask a very good question.
I’ll preface this by recognizing that Apple, being Apple, will do anything they think is in their best interests, of course. And trying to predict what they will or will not do in the future is an entire industry with a history of both successes and failures.
So…anything can happen, but we think Apple will not head down that road.
Their entire investment in (and marketing of) Metal is based on it being faster than the OpenGL framework family. For them to then make OpenGL run equivalently fast would raise the question…why bother introducing and marketing a new product at all? In other words, why not simply use the technology underlying Metal to streamline OpenGL itself right from the start (which is basically what MetalGL does)?
In addition, Apple is asking an entire industry of developers to commit to rewriting and maintaining game engines, graphics libraries, games, and apps, in a new technology that is fundamentally different than OpenGL in API, structure, and shaders. It would be a bit of a slap in the face if Apple was to come back a year or two later and tell these developers they could have ended up with the same results by simply waiting and doing nothing.
We think Apple has made a strategic decision to invest in and introduce a new, proprietary graphics technology and API that is intentionally distinct from, and incompatible with, OpenGL.
By contrast, the transition ES1 -> ES2 -> ES3 was more tactical. Implementing ES1 via ES2 was really about not having to dedicate GPU hardware to older fixed-pipeline technology. And ES3 is a backwards-compatible extension of ES2. You don’t so much replace ES2 with ES3, as augment it.
Metal is, without a doubt, a newer, better-designed, and faster environment than legacy OpenGL, which evolved over a long period of time. However, it is a single-vendor solution to the problem of where to take graphics technology in the future, and Apple has a vested interest in locking the technology to their ecosystem. From a compatibility and portability perspective, Metal creates problems.
That’s where MetalGL comes in. It provides the ability for developers to benefit from Metal, while maintaining compatibility with their own past investments in OpenGL, and provides industry-wide portability for their games, apps and graphics libraries.
…BillJune 19, 2015 at 4:52 pm #601
I don’t think Apple will make it as fast as Metal by any means.
I do imagine it would be easier for them to implement OpenGL on top of Metal for future hardware revisions instead of writing and maintaining two sets of drivers. If this were the case, they would see the same performance benefits you’re offering.
You must be logged in to reply to this topic.