Even ignoring contexts where Vulkan competes with DX12 here's where Vulkan will be relevant:
1)It will be the modern high performance graphics API that works under Linux/SteamOS. DX12 doesn't work there for obvious reasons.
2)It will be the modern high performance graphics API that will be integrated into future versions of Android. DX12 doesn't work there for obvious reasons.
3)It will be the modern high performance graphics API that works under Windows XP, Windows Vista, Windows 7 and Windows 8. DX12 doesn't work there for Microsoft's reasons.
Vulkan and DX12 will only overlap on Windows 10. Mantle only works with AMD hardware while Metal only works on Apple platforms. That sums up why Vulkan is needed and why it exists. All the other options tie your code to one platform. Engines like Unity do a lot of the heavy lifting to provide different rendering paths for different platforms and I'm pretty sure they'll all support DX12 as well. But over time, cost/benefit analyses should definitely favor Vulkan if you're creating a high-performance cross platform graphics application, library, or engine from scratch.
1)It will be the modern high performance graphics API that works under Linux/SteamOS. DX12 doesn't work there for obvious reasons.
2)It will be the modern high performance graphics API that will be integrated into future versions of Android. DX12 doesn't work there for obvious reasons.
3)It will be the modern high performance graphics API that works under Windows XP, Windows Vista, Windows 7 and Windows 8. DX12 doesn't work there for Microsoft's reasons.
Vulkan and DX12 will only overlap on Windows 10. Mantle only works with AMD hardware while Metal only works on Apple platforms. That sums up why Vulkan is needed and why it exists. All the other options tie your code to one platform. Engines like Unity do a lot of the heavy lifting to provide different rendering paths for different platforms and I'm pretty sure they'll all support DX12 as well. But over time, cost/benefit analyses should definitely favor Vulkan if you're creating a high-performance cross platform graphics application, library, or engine from scratch.