With Vulkan launched we now have all the low-level API's out and about. We had Mantle which became Vulkan. Microsoft has DirectX 12 and Apple has a mid-level API with Metal.
But before all that there existed libGCM for PS3 (and now libGNM for PS4). Who knows: Maybe it inspired Dice's technical director Johan Andersson when he (almost singlehandedly I read) designed Mantle and got the ball rolling.
I found a cool article (from June 2014) about Sony's libGCM: http://www.redgamingtech.com/ice-te...apis-sonys-libgcm-first-modern-low-level-api/
Here's the related blog article by Aras Pranckevičius (Unity): http://aras-p.info/blog/2014/05/31/rant-about-rants-about-opengl/
An old slide:
But before all that there existed libGCM for PS3 (and now libGNM for PS4). Who knows: Maybe it inspired Dice's technical director Johan Andersson when he (almost singlehandedly I read) designed Mantle and got the ball rolling.
I found a cool article (from June 2014) about Sony's libGCM: http://www.redgamingtech.com/ice-te...apis-sonys-libgcm-first-modern-low-level-api/
Here's the related blog article by Aras Pranckevičius (Unity): http://aras-p.info/blog/2014/05/31/rant-about-rants-about-opengl/
I’m actually quite happy that Mantle and upcoming DX12 has caused quite a stir of discussions (to be fair PS3’s libGCM was probably the first “modern to the metal” API, but everyone who knows anyting about it can’t say it). Once things shake out, we’ll be left with a better world of graphics APIs. Maybe that will be the world with more than two non-console APIs, who knows. In any case, competition is good!
Cort ‎@postgoodism
@aras_p Many thanks for acknowledging libGCM; I was getting tired of breathless Mantle/DX12/AZDO articles failing to mention that part
If you do a bit of googling around, other developers had previously discussed the Xbox 360, mentioning that it’s API had issues with it being fairly ‘high level’.
Jim Heji is a senior research Scientist at Electronic Arts, and Tweeted this back in April 2009 “On 360: CPU cmds to GPU -do- have cost. Issue is API. 100% fixable with API refactor – no HW flash needed. Blog, with instructions, coming.” In a conversation with Ivan-Assen Ivanov (who is the Technical Director of Haemimont Games) he’d said “I wrote an api for direct control of the gpu ring. Manual packet submission. Proves low/no cpu cost. Cert would hate it tho” with Ivan’s contribution to the topic being “Sounds good, but needs to be done by MS, right? Let’s hope they do something like that for some late-cycle graphics boost.”
It’s fairly obvious that the part where Jim Heji says that he’d “…wrote an API for direct control…” Microsoft wouldn’t like it, and they’d simply not pass the game through their quality testing. It would mean that the game / console could potentially crash out with dashboard updates in the future. It does however mean that issuing GPU commands (in other words, say getting the Xbox 360’s CPU to draw a scene) was quite a bit hungrier than it could have been, It’s likely that this is from the DX9 roots of the Xbox 360’s hardware.
Starting with the Playstation 3, it is completely and utterly possible to control the consoles command buffers manually and this wasn’t there at that point in the Xbox 360’s API life span.
An old slide: