A somewhat controversial piece over on Bit-Tech mentions a comment from AMD’s developer relations manager where he says that many game developers just want the API to go away.
‘It’s funny,’ says AMD’s worldwide developer relations manager of its GPU division, Richard Huddy. ‘We often have at least ten times as much horsepower as an Xbox 360 or a PS3 in a high-end graphics card, yet it’s very clear that the games don’t look ten times as good. To a significant extent, that’s because, one way or another, for good reasons and bad – mostly good, DirectX is getting in the way.’ Huddy says that one of the most common requests he gets from game developers is: ‘Make the API go away.’
Now, I think there’s a bit of a miscommunication here. I sincerely doubt many game designers want to go back to the old days of IRQ21 and manually mapping pixels to memory spaces. I suspect the real comment is that ‘DirectX is a pain to deal with’ and ‘I want a more transparent & easy to use API’. Not that OpenGL is any better, but many developers want to be rid of the classis glTransform & rasterization commands and move to a new generation of API’s, as evidenced by the success of things like Unity and Ogre.
What do you think?
Earlier this month John Carmack surprised a lot of people by acknowledging Direct X now being better than Open GL. Then we got the following quote from: “AMD’s GPU worldwide developer relations manager, Richard Huddy, agrees. He added that the actual innovation in graphics has been driven by Microsoft in the last ten or so years. “OpenGL has largely been tracking that, rather than coming up with new methods,” he said. “The geometry shader, for example, which came in with Vista and DirectX 10, is wholly Microsoft’s invention in the first place.”
Does Richard Huddy suffer from bipolar disorder??
Here’ the whole article: http://www.tomshardware.com/news/john-Carmack-DirectX-OpenGL-API-Doom,12372.html
Not like Unity or Ogre. That’s higher level, not lower. Developers are clamoring for something that ends up closer to machine code. The idea is that if they can make their game engine compile down to machine code, they could use something like Steam to profile a machine and deliver a version to the user that matches their devices. Would it be really hard? Yes, but it’s practical now to have binaries that aren’t cross-compatible with other machines, and if a company can make a game that is more unique and higher quality on the same hardware, they will have a pretty extreme competitive advantage.
In CAD world this would be really funny, most CAD packages have pretty old OpenGL code inside mixed up with GDI calls and other bad practices that call for a decent rewrite for more than years.
Seriously if directx or opengl would not be there and everybody would be forced to write direct language (on cpu this is called ASSEMBLY LANGUAGE) a lot of CAD programs would do text printing on the screen simply because none of the rendering guys really knows what the hardware underneath does and what needs to be done to have a fast rendering. For the pro rendering guys this would be a huge opportunity to get out much more of the hardware but at the cost of a support nightmare due to the need to rewrite for every single chip out there.
So after all … the way its today is totally ok and those api will never go away … eventually at one point in future there might be more direct way to talk to the hardware, but not today
I think unity or direct-to-metal are two opposite paths. IMHO he means the same thing epic CEO said earlier, no API, let them use gpu horsepower to raytrace, voxelise or whathever they want.. but for me it sounds like cuda