New APIs and Beginning DirectX 12

Started by
1 comment, last by SeanMiddleditch 8 years, 8 months ago

I've done a lot of OpenGL development in the past few years, but with the release of DirectX 12 with Windows 10, I'd really like to start learning how the new APIs will work. I wanted to wait until Vulkan became available, but I'm not sure how long that'll take. From what I could find online regarding Metal, Vulkan and DX12, it sounds like these APIs are all very similar. Does this seem to be the case? For example: if I wanted to convert my game from DirectX 12 to Metal or Vulkan, the process would be "easier" than porting between OpenGL to any of the new APIs, correct?

If I wanted to start learning about DirectX 12, are there any decent learning resources out there to begin, or would I have to dive into MSDN docs to figure out what goes where. I did find this DirectX 12 Programming Guide on MSDN though. I read in this post that these newer APIs are more difficult to work with as they provide more explicit control over the GPU, and that game developers must now deal with the less pretty side of GPUs that older API drivers used to hide.

Advertisement

For example: if I wanted to convert my game from DirectX 12 to Metal or Vulkan, the process would be "easier" than porting between OpenGL to any of the new APIs, correct?

Certainly should be.

I don’t know of any other resources than what you have posted.


L. Spiro

I restore Nintendo 64 video-game OST’s into HD! https://www.youtube.com/channel/UCCtX_wedtZ5BoyQBXEhnVZw/playlists?view=1&sort=lad&flow=grid

Vulkan is currently on track to be released before year's end. They're still wrapping up some bits, since they're not worrying about rushing it to meet Windows 10's release date (like the DirectX team unfortunately had to).

Yes, D3D12 and Vulkan are very similar. Not identical, but similar; the core hardware concepts are, well, hardware concepts, so they're the same in all the new APIs. And yes, that means it'll be easier to port from D3D12 to Vulkan than it will be to port from GL to Vulkan.

So far as D3D12 learning resources, Microsoft's documentation is fairly decent, and they have official sample codes on GitHub. And you can use the existing D3D11-on-12 support to gradually port an existing codebase.

More documention will be on its way. There's some more in-depth samples, videos, and documentation that Direct3D insiders had that haven't been released publicly yet (that I know of) for some reason. Plus all the skilled tutorial writers (who, sadly, are not generally the kinds of people that had insider access to either API) haven't had any time yet to write D3D12 tutorials given that they just got their mitts on it, too.

Expect Vulkan's release to be similar: some documentation and tools up front, but most of the good docs and tutorials and whatnot won't likely emerge until months after release.

Sean Middleditch – Game Systems Engineer – Join my team!

This topic is closed to new replies.

Advertisement