blackkstar
Honorable
No one is mentioning the political side of all these APIs either.
DirectX: Microsoft doesn't care about desktop users anymore judging by what they've done with Windows 8. It took massive screaming and kicking from desktop users to get a button that opens up a start screen. After endless whining about wanting the start menu back. People want old features back so badly that third parties have gone far out of their way to create their own replacements. But my point is that Microsoft no longer cares about us. They see heaps of money in phones and tablets and they see nothing in the HEDT crowd.
OpenGL: Governed by the lethargic Khronos Group. Trying to get anything done with OpenGL is a disaster. Do you want a new extension? Get ready to whine and wait a year before it becomes a part of OpenGL. Khronos group also does a very poor job of keeping OpenGL spec clean. It is a cluttered messed with 5 different ways to do the same thing.
Third party APIs: They are definitely going to cause fragmentation and create problems, but as far as OpenGL and DirectX are concerned, it's almost necessary at this point. DirectX is preferred for its ease of use and short development times over OpenGL, but it's tied to Windows. Some game developers are rather scared after seeing what Microsoft did with Windows 8 and how they treated HEDT customers. Staying purely DirectX for the future means you're going to be at Microsoft's whim, and if they decide that Windows 9 should be even more focused on mobile with HEDT as an afterthought, you're going to want an alternative to DirectX to escape Windows.
Valve is very forward thinking about this. Everyone who is supporting Mantle is also forward thinking about this as well.
But relying on AMD was sort of a last resort. Game developers wanted something that didn't suck to write like OpenGL yet wasn't tied down to Microsoft's whims of "Windows 7 is very popular but lets scrap the whole Aero desktop environment and make something for touch screens!" The people who wanted out of OpenGL disaster and Microsoft lock-in approached Nvidia and Intel. Some of them just wanted DirectX to not be forgotten and ignored, so they went to Microsoft.
The screams for help fell on deaf ears. AMD was the only one who really listened. I'm presuming Microsoft doesn't want to throw resources at a new version of DirectX. PC gaming doesn't help them with their goal of taking over the living room. And I would have assumed that if DX12 was a priority for Microsoft, that they would have made efforts to make sure Xbone supported DirectX. DirectX 11 is nearly 5 years old by now, they should have had time to work on it beforehand. Not to mention that DirectX had a year or two update cycle before it fell off the deep end and got ignored with DirectX 11.1
Things will get fragmented though. Nvidia has absolutely zero interest in creating things for gamers that can't be locked down on Nvidia hardware exclusively.
It sucks but our options at this point are:
1. Be stuck at Microsoft's whims when they've demonstrated that HEDT PC gaming is not a priority for them anymore.
2. Use the train wreck that is OpenGL
3. Fracture hardware vendors with software layers.
3 seems the best to me. At least it opens up some options (like OSX and Linux gaming) while not being a disaster. I also am very fond of the folks who design the GPUs being in charge of the software API that runs on that hardware as opposed to it being some obscure group that knows nothing of GPU design.
I'd envision at some point game developers could say "wow, I wish the GPU did this!", AMD/Nvidia will go "there's not a good way to do this in software" and then the next GPU family will have support for that.
EDIT: Case in point, look at some of the options Mantle is opening up. It is making AFR obsolete and opening up doors like allowing several different GCN clusters to do different things. That's something I don't think Khronos or Microsoft are capable of designing, simply because they lack the proximity to the hardware and they function as large, lethargic groups that only do things when AMD or Nvidia whine enough to them.
DirectX: Microsoft doesn't care about desktop users anymore judging by what they've done with Windows 8. It took massive screaming and kicking from desktop users to get a button that opens up a start screen. After endless whining about wanting the start menu back. People want old features back so badly that third parties have gone far out of their way to create their own replacements. But my point is that Microsoft no longer cares about us. They see heaps of money in phones and tablets and they see nothing in the HEDT crowd.
OpenGL: Governed by the lethargic Khronos Group. Trying to get anything done with OpenGL is a disaster. Do you want a new extension? Get ready to whine and wait a year before it becomes a part of OpenGL. Khronos group also does a very poor job of keeping OpenGL spec clean. It is a cluttered messed with 5 different ways to do the same thing.
Third party APIs: They are definitely going to cause fragmentation and create problems, but as far as OpenGL and DirectX are concerned, it's almost necessary at this point. DirectX is preferred for its ease of use and short development times over OpenGL, but it's tied to Windows. Some game developers are rather scared after seeing what Microsoft did with Windows 8 and how they treated HEDT customers. Staying purely DirectX for the future means you're going to be at Microsoft's whim, and if they decide that Windows 9 should be even more focused on mobile with HEDT as an afterthought, you're going to want an alternative to DirectX to escape Windows.
Valve is very forward thinking about this. Everyone who is supporting Mantle is also forward thinking about this as well.
But relying on AMD was sort of a last resort. Game developers wanted something that didn't suck to write like OpenGL yet wasn't tied down to Microsoft's whims of "Windows 7 is very popular but lets scrap the whole Aero desktop environment and make something for touch screens!" The people who wanted out of OpenGL disaster and Microsoft lock-in approached Nvidia and Intel. Some of them just wanted DirectX to not be forgotten and ignored, so they went to Microsoft.
The screams for help fell on deaf ears. AMD was the only one who really listened. I'm presuming Microsoft doesn't want to throw resources at a new version of DirectX. PC gaming doesn't help them with their goal of taking over the living room. And I would have assumed that if DX12 was a priority for Microsoft, that they would have made efforts to make sure Xbone supported DirectX. DirectX 11 is nearly 5 years old by now, they should have had time to work on it beforehand. Not to mention that DirectX had a year or two update cycle before it fell off the deep end and got ignored with DirectX 11.1
Things will get fragmented though. Nvidia has absolutely zero interest in creating things for gamers that can't be locked down on Nvidia hardware exclusively.
It sucks but our options at this point are:
1. Be stuck at Microsoft's whims when they've demonstrated that HEDT PC gaming is not a priority for them anymore.
2. Use the train wreck that is OpenGL
3. Fracture hardware vendors with software layers.
3 seems the best to me. At least it opens up some options (like OSX and Linux gaming) while not being a disaster. I also am very fond of the folks who design the GPUs being in charge of the software API that runs on that hardware as opposed to it being some obscure group that knows nothing of GPU design.
I'd envision at some point game developers could say "wow, I wish the GPU did this!", AMD/Nvidia will go "there's not a good way to do this in software" and then the next GPU family will have support for that.
EDIT: Case in point, look at some of the options Mantle is opening up. It is making AFR obsolete and opening up doors like allowing several different GCN clusters to do different things. That's something I don't think Khronos or Microsoft are capable of designing, simply because they lack the proximity to the hardware and they function as large, lethargic groups that only do things when AMD or Nvidia whine enough to them.