It seems like with Mantle shelved we are left with Vulkan and DirectX12 fighting to the death to be your 3d graphics API of choice.
Both are very similar in how they work. Both kind of do the same thing.
Vulkan has a cooler logo though and will work on linux.
Oh snap, I forgot to include Metal for OSX
Which do you hope will win out? Which will you use?
Comments
The era of DirectX driving graphics forward and OpenGL coming along and adding the same features years later seems to have ended several years ago. But inertia is a powerful thing in software development, and I expect DirectX to be most common for PCs for some years to come.
But comes down to, I like Vulkan to do good still to soon to say until it's out, but is bad for only windows OS to be out there only, but sooner or later microsoft will cross a line and people have to stay on windows if there no other OS out there to move over.
Brenics ~ Just to point out I do believe Chris Roberts is going down as the man who cheated backers and took down crowdfunding for gaming.
I'd be extremely shocked if Valve doesn't take an awfully close look at Vulkan. The prospects for Steam OS are much brighter if Vulkan catches on than if it gets ignored.
Sadly I agree with you. What we hope for and what will probably happen are two different things of course. As you said, DirectX will likely be the more common thing for the foreseeable future.
"The surest way to corrupt a youth is to instruct him to hold in higher esteem those who think alike than those who think differently."
- Friedrich Nietzsche
Boobs are LIFE, Boobs are LOVE, Boobs are JUSTICE, Boobs are mankind's HOPES and DREAMS. People who complain about boobs have lost their humanity.
As for "which will you use", I expect that a lot of gamers will use both in at least one game.
The thing I would worry about with Vulkan is hardware support. As we know AMD is backing the project, and it includes a continuation of mantle. It also scales to more cores better. This is bad news for nVidia and Intel. The API no longer handicaps AMD based hardware which will show a sizable performance advantage.
As for Linux fragmentation issues, I don't think that will be a problem. Most linux users tend to be technically savvy. I would also imagine that the individual distros would put up requirements and if they support certain features. You obviously are not going to be paying games off a dedicated linux server.
Since when could you not develop for vulkan in Visual Studio? (hint, you can)
Vulkan is not a sound API (neither is directX anymore). They typically use something like FMOD for sound.
The obvious advantage is that you can write your Vulkan renderer in C++ on windows in Visual Studio and compile it and run it on windows, then simply copy the source code over to linux and compile it in codeblocks and run it on linux, then copy it over to your mac and compile it in Xcode and run it on mac. You wouldn't have to change your source code because unlike OpenGL, Vulkan comes with a cross platform window shim (in openGL you used win32+wgl in windows to make the fullscreen window and capture input, in linux it was x11.org+xgl, in mac you have to write some objective c because the mac api's are all objective C!!! - or just use SDL on all 3 ).
TLDR... programmer here to keep you all in check :pleased:
Also, unreal engine has Vulkan support under development.
Actually, every DirectX feature starts it life out as an OpenGL vendor extension.
For example, OpenGL4.4 has extensions that make it behave in a way that achieves the performance of vulkan/DX12. Why? Because Nvidia and AMD can make an extension in about a week where it normally takes 1-2 years for a new version of DX to come out.
Healthy competition is always a good thing.
"Be water my friend" - Bruce Lee
To answer the poll then, i don't really hope either will win out. If Vulkan wins out over DX12 it puts us in a similar position as we are now. What i HOPE would happen is that its more like the early days where there were multiple APIs (Glide, D3D, OpenGL, etc)
"The surest way to corrupt a youth is to instruct him to hold in higher esteem those who think alike than those who think differently."
- Friedrich Nietzsche
Its probably going to happen again.
Microsoft partners (aka game studios) are going to run dx12 because its in the best interest of industry relations.
TSW - AoC - Aion - WOW - EVE - Fallen Earth - Co - Rift - || XNA C# Java Development
I am not trying to kill off Windows. Vulkan runs on Windows, too, just like OpenGL does. I'd be much less keen on both of them if they didn't run on Windows.
How many years did DirectX get programmable shaders before OpenGL did, again? How about geometry shaders? DirectX won because, for about a decade, if you wanted to use cutting edge features, you could do it with DirectX immediately, or wait a few years to eventually get access to do the same with OpenGL. Today, that era is pretty much over, with Vulkan at worst months behind and about to catch up very shortly.
Now, OpenGL did get a lot of features added via extensions before they were added to the core API. But that's just it: I don't want to use extensions if I don't absolutely have to. I don't want to write separate code paths for every combination of which extensions are supported and which aren't. I want to write code once and it runs on everything.
I'm okay with extensions that are pretty much universally supported, but can't be added to the core API for political reasons (anisotropic filtering is like that in OpenGL). But I don't want to use a vendor-specific extension that only runs on one vendor. I don't want to use an Nvidia extension for Nvidia GPUs and an entirely different code path for an AMD extension for AMD GPUs. I want to write my code once and be done with it.
OpenGL was 'behind' because Microsoft had a complete monopoly in PC gaming in the 90s and chose to push its own proprietary platform. To say that open standards have agendas behind them, when proprietary APIs are purely about corporate profit, to me is somewhat peculiar.
This is why I want an industry standard API that runs well on everything, not an industry standard API that is a broken mess of vendors fighting with each other. Ten years ago, OpenGL had a whole lot of the latter. DirectX was clearly better, which is why it was widely adopted. That's unlikely to be the case with Vulkan.
Just because Microsoft pushes something exclusive to Windows doesn't mean it will dominate the market. If Microsoft made a new programming language that combined the performance of Perl with the convenience of C, people would generally ignore it except to laugh at it. Microsoft has made programming languages, but that doesn't mean that nothing else works well on Windows. And it doesn't stop people from running C++, Java, Python, and various other languages not created by Microsoft on Windows.