3 ms·
The id tech5 engine for rage was already very impressive and ran extremely well on my mediocre machine, while still looking beautiful. Felt like my computer sud
by iammyIP 10y ago
The id tech5 engine for rage was already very impressive and ran extremely well on my mediocre machine, while still looking beautiful. Felt like my computer suddenly was twice as capable.
I wonder why the article mentions this: "Unlike most Windows games released these days, DOOM doesn’t use Direct3D.".
Implementing Direct3d today seems a waste of development time to me and a useless self-restriction to a platform. Why would anyone do that? Is there a source that compares release titles of direct3d games vs opengl/vulkan on windows?
- bronxbomber92 10y agoWhat do you mean by "implementing Direct3D"? Vulkan and OpenGL expose very similar programming models at roughly the same abstraction level. If your question is "why use D3D [or insert other proprietary API] over platform-agnostic APIs", the reasons are many and varied. Better tooling, more mature drivers, more familiarity among team members, better support from the OS vendor, etc. That's not to say it's always the right decision, but I would never expect the quality of Vulkan or GL on Windows to be as high as D3D.
- iammyIP 10y agoVulkan is much more detailed and lowlevel than opengl. You mean id tech6 would be better, more performant, more beautiful it it were rendered in d3d? d3d is another api to learn for a restricted platform, whereas opengl can applied to all platforms, as a subset also on mobile. D3d really must be better about some larger factor to be a feasible choice today. It doesn't seem to be so (see this doom engine for example).
- tarpherder 10y agoVulkan is not available on PS4 and XboxOne which are the main targets for game development like it or not. This almost immediately rules out implementing a Vulkan graphics back-end because when you support XboxOne you are already using a version of Direct3D-12 so why bother with Vulkan if you can modify your existing XboxOne Direct3D-12 implementation for PC with a lot less effort. On top of that, support from both Microsoft and GPU vendors will be better for Direct3D-12 than it will be for Vulkan. Linux sales are so small it's not worth implementing another graphics back-end for. That's how it is and will be as long as Microsoft shares their Direct3D implementation between their platforms (Xbox and PC). There will always be exceptions but they are exceedingly rare and will continue to be so for the foreseeable future. Vulkan has a future but I expect it to be more of a mobile focused one.
- theandrewbailey 10y agoMost big time game dev targets consoles in addition to Windows. Each console has its own incompatible graphics API. When there is no business imperative to support PCs that don't run Windows, "useless self-restriction" is irrelevant. From what I've heard, Direct3D (up to 11) and OpenGL work somewhat similarly, as will Vulkan and Direct3D 12. If a dev has already abstracted their engine to support a console (or two, or three), supporting another PC graphics API isn't that big of a deal, until driver bugs appear. Which they inevitably do; that's why new drivers appear suspiciously close to big game releases.
- iammyIP 10y agoYes, i somehow had the impression that ps4 used opengl, but they use some own cooked gl fork. So my point is more about pc games i guess, since opengl runs on all major oses. The only reason for d3d seems to be the xbox.
- Narishma 10y agoPS4's API has nothing to do with OpenGL. It has more in common with Vulkan and D3D12.
- iammyIP 10y agoIndeed ps4s GNM seems to be more oriented to dx. So what? Consoles are a boring target anyways.
- Narishma 10y agoIt doesn't have anything to do with DX either. It's a custom low-level API that's an evolution of the PS3's libGCM. As I said, it's closest counterparts on PC would be Vulkan or D3D12.
- mjevans 10y agoI thought I remembered reading how the 'new driver releases' appeared so that the manufacturers could ship their own case by case patches/optimizations for various games. EG: Game X is telling us Y, but in reality algorithm Z produces the same results a lot faster, so use Z.