Microsoft Confirms DirectX 12 Is Alive and Well, Demo Coming At GDC
MojoKid writes "Buzz has been building for the last week that Microsoft would soon unveil the next version of DirectX at the upcoming Games Developer Conference (GDC). Microsoft has now confirmed that its discussion forums at the show won't just be to discuss updates to DX11, but that the company is putting a full court press behind DirectX 12. The company responded sharply over a year ago, when an AMD executive claimed that future versions of the API were essentially dead, but it has been over four years since DX11 debuted. To date, Microsoft has only revealed a few details of the next-generation API. Like AMD's Mantle, it will focus on giving developers "close-to-metal" GPU resource access and reducing CPU overhead. Like Mantle, the goal of DirectX 12 is to give programmers more control over performance tuning, with an eye towards better multi-threading and multi-GPU scaling. Unlike Mantle, DirectX 12 will undoubtedly support a full range of GPUs from AMD, Intel, Nvidia and Qualcomm. Qualcomm's presence is interesting. With Windows RT all but moribund, Qualcomm's interest in that market may have seemed incidental. However, the fact that the company is involved with the DX12 standard could mean that the handset and tablet developer is serious about the Windows market in the long term."
or devs Will not use it
If only for the fact that it will push OpenGL forward. Mantle looks promising (and should support non-AMD GPUs as well) but is still some time away from public release.
Open development, more involvement from the community, more trust. Would be good for both Microsoft and its users.
Does it really need to be? Despite the name you will find that most OpenGL implementations aren't open source.
But the OpenGL standard is very much open. Unlike DirectX.
Which goes a big way to explain why it is king everywhere except Windows PCs.
Mantle seems to have woken up the OpenGL folk too.
Slashdot is filled with haters, but just to do the inverse I'm really happy about this. DirectX always been top-notch, high-tech and the easiest API to work with for developers along with the best performance from shaders (yeah I know OpenGL have more brute draw calls per sec). This will push graphic technology forward. I'm very eager to see it, and I'm happy that Microsoft is still going because ATI Mantle was limited to a single vendor and couldn't succeed for this only reason.
Which developers are you talking about? I'd wager that the biggest money makers and users of these APIs (AAA game developers) already have good enough relationships with Microsoft, Sony, etc where under NDA they are able to offer feedback on existing and proposed API/platform directions and allow themselves to be in sync with where it is going.
Help Brendan pay off his student loans
Unbelievable. Another brand new graphics API to front the graphics hardware so that developers have to completely rewrite their software yet again.
People need to get over their damn obsession with "new versions" and remember what the point of a programming API really is. It is to provide a stable and comprehensive interface for doing a task so that developers do not need to hit a moving target or relearn their entire skillset every six months. The reason OpenGL was so successful was that it did not try to capture the current state of graphics hardware. Instead, it captured the essential aspects of a 3D graphics pipeline and created an API for that, and let the drivers handle mapping features to hardware. With this model, OpenGL 1.x was stable for decades. You could run the exact same software on a pure-software implementation on your dinky home PC that you could on the pure-hardware big-iron SGIs. The only difference was in how fast it ran, there was no changing how you interfaced with the hardware, there was no learning an entirely new way of doing things.
Fundamentally a 3D pipeline involves vertex transformation, rasterization, and pixel coloring. That's it. OpenGL 1.x captured this beautifully with its interface for specifying vertices for primitives (triangles), setting up the matrix transformations, and specifying the coloring and interpolation modes. It was simple and effective. Hardware manufacturers came out with dozens of generations of new hardware, and the developers only had to care that "things got faster" and how many more polygons they could afford to push per frame. Then came the programmable hardware, and shaders. OpenGL responded by replacing the matrix transformations with a vertex program, and the pixel coloring with a pixel program. Simple, done. One major version update captured the whole thing with a nice high-level shader language that was intended for many generations of shader improvements.
Unfortunately, the Direct3D dipshits got their hands into the OpenGL ARB and suddenly the shader language is gimped to only represent the current generation of hardware without the simple additions required to make it future-proof. Then, surprise surprise, we need to have many more versions of OpenGL simply to fix the deficiencies that were deliberately added in the first place to sabotage the API. Now we have the same bullshit version bloat in OpenGL that we had avoided for decades until Direct3D came into the picture.
Direct3D embodies everything that is wrong with modern software development. Programming APIs need to express the theoretical capabilities of the task, not the limited expressions people currently use. And trying to make the API "closer to the bare metal"? Ahh, I get it! Driver developers think it's too much work to provide a consistent graphics API, so instead they're just going to make the game developers do all the hard work of driver development and debugging for them! Brilliant!
Fucking lazy assholes. This is why I got out of computer graphics after studying it for years in graduate school. It used to be you could approach it as a clean science, now it's devolved into bug-chasing of half-assed microcode.
The purpose of the existence of DirectX is to prevent cross-platform solutions.
Help stamp out iliturcy.
If you're a developer out there, please, don't let Microsoft get away with this.
So what should I do instead? AMD hasn't even released Mantle so this doesn't have the effect of 'freezing developers' at all. I'm primarily an OpenGL developer rather than DirectX but I always like when a new version of DirectX ships as that has an impact on pushing OpenGL forward. But do you really think developers should freeze development and wait for AMD to give us Mantle? I don't, I'll judge it when it's released but I'm not making a call on it now (same goes for DX12).
all but xbox consoles, mobile, Max and Linux. Mobile itself it a huge reason to use OpenGL - only one that supports Dx is Windows.
So you choose: DX and support Windows, or OGL and support everything. I know a lot of game companies are choosing the latter, mainly because they have to to support iOS and Android, they don't have the option to back-port to DX, especially when they can trivially port their OGL code to Windows anyway.
So your saying that if Microsoft opened up DirectX it would be possible to use on the same devices where OpenGL is used now?
No shit sherlock. Then DirectX would be as *open* as OpenGL.
Being a open standard has everything to do with OpenGL's adoption.
>> it will focus on giving developers "close-to-metal" GPU resource access and reducing CPU overhead.
Translation: ...its finally been gutted of a lot of heavy Microsoft crapware and is now just a thin wrapper over the GPU vendor's own driver.
I wish the rest of Windows would go that way too.
Not at all, DirectX is actually surprisingly efficient, however modern GPU's nowadays are at the point where the bottleneck is now the CPU's ability to feed it. This has meant a rethink in the architecture with things like mantle to allow more offloading of the processing direct to the GPU, people don't seem to understand even mantle still requires DirectX or OpenGL on top of it, mantle is really more a replacement for a layer within these API's, not a complete API replacement.
So your saying that if Microsoft opened up DirectX it would be possible to use on the same devices where OpenGL is used now?
No, that isn't what I'm saying at all, the spec is Windows-specific and even if it wasn't it would require the hardware manufacturers - that already have the spec anyway - to write platform-specific implementations of DirectX for their hardware. Opening up the spec would do nothing because what influential company would get it that doesn't already have it? And what good would an open spec do for platform portability when the spec is platform-specific?
The way they could support more platforms is by changing the spec to make it portable, all the hardware manufacturers have access to it already anyway so opening it won't change anything.
I used to use DirectX for some data visualization software (and occasional game in my free time) because it was easy to use and the systems our software was going to be used on was Windows anyway. But times change, we switched to OpenGL when we wanted to support other systems. An amusing benefit was being able to access features in Windows XP that people said couldn't handle it, a lie MS told about DirectX 10. If MS's top priority was making the best graphics possible, they could have gone with OpenGL, made it better (or some weird variation at least), then have the developers benefit both from contributions from MS and contributions from others. instead, they are forcing a choice, and more and more developers don't have the option of choosing DriectX, and not really missing it afterwards.
Developers use DirectX because its superior and more advanced, and does more things right.
OpenGL takes longer to be updated and they took paths that led the format to be cumbersum and less optimized.
DirectX became king after version 9 was released because they essentially scrapped the old API, made many renovations that were necessary, whereas OpenGL has been identical from the beginning. Apparently very antiquated and doesn't do modern things as well.
its true that OpenGL is used on other platforms, but only because its the only solution and DirectX isn't available...
Here is John Carmacks comments which basically state the same thing.. http://www.bit-tech.net/news/g...
Oh, yes, one more point to note;
OpenGL is now the dominant API on around 80% of all computing devices (Smartphone+Tablet+PC).
systemd is not an init system. It's a GNU replacement.