The question should be simple. What does DirectX/OpenGL/Mantle do that the engine (Cryengine, Unreal, Frostbite, etc.) does not?
DirectX is low-level API, and was created to abstract away hardware; two decades ago it was still usual for games to have to be specifically programmed to support a given device - now, with Direct3D for example, it doesn't matter if it's Intel, ATI or NVIDIA chip, DirectX let's you program against a uniform API regardless of what hardware the system has. Engines can be built atop DirectX; Direct3D, for example, only deals with low-level graphics stuff like actually rasterising triangles, which isn't terribly interesting for someone making a game. If you're actually making a game, you want to deal with abstractions like "guy M in position (x,y) heading towards (x', y')", not details like "point p of triangle t in mesh m oriented according to transformation matrix M located inside octtree node n will have primary colour c1 and specular reflection c2". That's what engines are for.
Thanks for answering my questionSeriously, is there a good reason?
Okay, thanks a lot everyone. But why us DX11 better then 10, etc. ?
More features where implemented into it.....most notably tessellation.
Okay, but why?
The easiest way to show why it's better is comparing the same scene in different renderings (9/10/11). http://www.overclock.net/t/597046/dx11-vs-dx10-vs-dx-9-pics
The rooftop shot is the best example. The roof tiles look a lot more realistic than the flat things they were in DX9.
Nonsense, the only reason that happened is because a lot of games are console ports. Look at company of heros in both and say that. night and day.
DX 9
![]()
DX10
![]()
Try having thousands of beautifully textured, fully animated sprites on screen at once and just see what happens.