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.
...requires Windows 8.1 or better and Bing on the desktop.
Everything in the Universe sucks: It's the law!
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.
>>> 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 it could mean that even though they already know Windows phone is almost certainly dead, being seen to be playing nice with Microsoft is worth the relatively small cost of 1 developer who is only actually working on this in any otherwise slack time.
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.
Well then perhaps you should get on to the graphics card manufacturers, they are the people that implement the spec for their hardware.
It would be nice to to see an ActiveX API be made cross-platform (Linux, OS X, iOS, Android, Windows, QNX, maybe even embedded platforms.) It definitely would beat PHIGS for an OpenGL alternative, although OpenGL is a pretty mature, stable API these days. I don't read about many horror stories by people using it for game writing.
If it could be used on an embedded platform, this gives some interesting possibilities for new and improved UIs (although my cynical side things it would be used for meaningless fluff as opposed to UI elements that are actually worth having.)
>> 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.
These sorts of announcements have the effect of freezing developers and keeping them from moving to superior technology.
They would have done nothing if not for AMD and now they're going to steal AMD's thunder.
This sort of thing makes my blood boil.
If you're a developer out there, please, don't let Microsoft get away with this.
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.
How so?
...except when the comment title explicitly says "open source": Why not open source it?.
This is the way they force us to upgrade, which in turn forces peripheral manufacturers to write Windows 8.1 drivers, for which they get paid nothing. It really is a sick little cycle. I'm tired of watching it.
Cloudiot: A person who does not see offsite storage as a way to lose control over access to his or her own data.
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.
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.
I get a little bored with the defence that people hate something implying that they are somehow emotionally against something. Directx was another single platform Microsoft APIs. Through dominance and laziness like internet explorer it has thrown away it's lead. Hate it... hardly notice it... Love the massive growth if cross platform gaming since Microsoft dropped the ball... high fives all around. Welcome to competition.
The purpose of the existence of DirectX is to prevent cross-platform solutions.
Help stamp out iliturcy.
I have seen lots of these posts, and there is lots of presidents to back it up. Directx was just another thing that was propping up Microsoft resilient monopoly on the desktop... A shrinking market... with ever growing refresh cycles, and Is increasingly dwarfed by the overall computer market that is mainly android... Using directx especially as a platform exclusive could simply cause this market share to shrink faster... For the sake of a few early conversions to a later version of its OS; there are other ways to milk it's hostages. This is not the same market that had Steve jobs begging like a bitch with patents for Microsoft's pocket change while apple is on its knees. This is Microsoft the hardware and services company. The one that is prepared to bet it's future on sneaking in an app store and a hardware lock, behind the metro(where are the windows never mind the start button) interface. No wonder stream is pushing Linux.
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.
Yes but being an open standard has nothing to do with that, the key implementers also have access to the DirectX spec. The confinement of DirectX to Windows-based platforms is simply due to Microsoft restricting the API to those platforms. If they suddenly provided that API on other platforms the graphics driver writers would just write DirectX drivers for those platforms the same way that they do for OpenGL because they already have the DirectX spec. What you wouldn't get without an open spec is a Mesa implementation.
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.
No, the purpose of DirectX is to make the best graphics API available so that developers use it, and it's doing an awesome job at it. The fact that is not cross-platform is only because Microsoft don't see any advantages at working for free and doing it, why would they?
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.
Will be just a wrapper around openGL.
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...
While this was sorta-kinda true five years ago, a *lot* has changed since then.
The OpenGL specification has one big fundamental advantage over Direct X, namely, extensions. While extensions certainly aren't perfect, they do allow you to include new functionality in OpenGL - in DirectX, if you got a new technology, you have to wait for Microsoft to implement this.
Furthermore, OpenGL 4.4 has all features of DirectX 11 has and then some. It is about as easy if not easier to develop for, and is even faster[1] than DX11. DX11 is a good API, but it's getting outdated.
Shame that the XB One won't be able to utilize DX12...
Further reading: http://wccftech.com/open-gl-di...
[1] http://www.extremetech.com/gam...
systemd is not an init system. It's a GNU replacement.
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.
No, because if they opened it, it wouldn't matter. Linux still would need a wrapper to support direct X or a rewrite. It's software written for windows in mind, it's not some mysterious clouded secret. Microsoft makes it easier for Developers to work with hardware on their platform, it was written from the ground up to run on windows, opening it wouldn't help Linux because well... Linux doesn't handle things in the same way, it's really just that simple.
DX12. Microsoft is the sole definer. Implemented for only ONE Operating Environment, according to the defining body. May be implemented for two OSs at Microsofts leisure.
May or may not be upward or downward compatible with itself or anything else.
So PLEASE. STOP calling DX ANYTHING a standard. You may call it a library or an API.
PHIGS is the standard. OpenGL has pretty much supplanted PHIGS but is still not a standard. OpenGL is also an API but with broader support.
Just another "Cubible(sic) Joe" 2 17 3061
No. The purpose of the existence of DirectX is to prevent cross-platform solutions.
The OpenGL specification has one big fundamental advantage over Direct X, namely, extensions.
What's the point of a standard API if it's riddled with tons of custom extensions?
No, the extensions aren't standard, that's true. It's not a perfect solution. But if you want to use a new nifty feature not yet standardised by OpenGL, you do not have to wait for the ARB to get their shit together. You as a developer can use it and then with minimal fuss port your non-standard extension to the standard when it becomes available. DirectX does not have that advantage.
This is a major advantage if some new technology shows up, like say geometry shaders. OpenGL supported geometry shaders from day one - but through proprietary extensions. These then trickled down to the specification. Even if it's invented elsewhere OpenGL can take advantage of it basicly instantly. It's not standard - true - but it's there and if it's a good idea it will most probably become standard.
Similarly, I have no doubt extensions will show up that will implement these new DX inventions, should they prove to be helpful.
systemd is not an init system. It's a GNU replacement.
I think probably Microsoft has some deal with graphics manufacturers that they won't expose the DirectX interfaces on any platform but Windows. It's not a case of they have the spec, they can do what they like.
They do have the spec, that's how they implement it on Windows, if they didn't have the spec they wouldn't be able to implement it. It's the agreement that they don't do cross-platform implementations that stops them.