Advertisement

Is there any good and up-to-date DirectX 11 tutorials/books to read?

Started by July 30, 2019 01:02 AM
2 comments, last by turanszkij 5 years, 4 months ago

I've decided that i'd learn DirectX 11 and got Frank D. Luna DX11 book. The problem is that it uses the old and deprecated 2010 SDK. Theory and math there is great, and i'll probably keep it to learn about rendering in general, but when it comes to implementing things that the problems comes (and well, if it's just for theory i can read it and learn another API with more coding covered to get the job done). The way things are done in this book are quite old, and after a few days studying it and reading other another tutorial(which is up-to-date, but has a pay-wall to keep reading and doesn't cover much after the classic Hello Triangle) and searching several places i were able to finish the classic Hello Triangle. All other places i've found seem to be books that has the same problem: They're old and not updated(but i haven't bought all of them to be sure, but i just don't have the money to do so) ; are shady and don't cover much or are from msdn, which is not the best place to learn, but it's something.. ( I also JUST found this series on youtube before creating this post. There is quite a lot videos in this playlist, so i haven't checked them all, but reading is much better to learn for me) .

It's not like there isn't good resources available, but most of them seem outdated or just don't cover much. the reason i've decided to seek help here is because OpenGL seems to have much, MUCH more resources to learn, from sites m blogs, videos, engine tutorials, etc, and are all quite easy to find (The resources i've got for DX took me a 1-3 days to gather, from start to now after having some problems) and the OpenGL stuff that i've found seem to cover just the same as the DX11 material i've gathered, but got it with a 5min google search...

A major reason i've decided to not use OpenGL when i was starting was because i've heard that it has some problems with drivers ( your code is not guaranteed to work the same in every device ) and it kinda scared me, so i've decided to go with DX instead. Since my target for what i plan to build would mostly use Windows, I took it as a reason to use DX instead, but i'm now questioning: Is it really true? Am I really likely to find get this problem later?

My small vacation will end next week, so i won't have all the free time available to me to do my research and keep learning DX slowly as i am right now, and it seems unnecessary afterall...

So, is there some good and up-to-date materials for DirectX 11 available? If not, should i just switch to OGL and stick with it, since i haven't done much so far? Will i really have a better, easier time finding material to study rendering with OGL rather than DX11, or is just my frustration telling me to switch?

 

I have the same book and had the exact same problem as you. I ended using an online tutorial to get started. Certainly some of the stuff in the book is still useful and also I've been able to find most of what I need online, but I agree it would be nice to have one solid up to date Direct X 11 book. Sorry I don't have a solution for you. I've googled around a bit but I haven't really found anything that's a good replacement for Luna's book.

Advertisement

Most of the stuff from the legacy SDK still applies, but the old D3DX math library is no longer included with the new DirectX SDK (which is part of the Windows SDK now). You can still use the old math library if you have the legacy SDK, but I wouldn't recommend it. Instead, there is a new open source math lib in the Windows SDK called DirectXMath. This includes everything that was in the D3DX Math library, but it has a different naming convention, and more focus on performance (sse support, everything is inlined, because it is a header only library). 

The graphics techniques themselves that were valid in the legacy SDK will require some effort to implement, but it is doable. There will be slight differences in how you interop with DXGI to present the final image too, and how you compile and link the program, but apart from this, the common graphics calls themselves have not changed at all.

I would recommend to learn DirectX 11 today instead of OpenGL. It is just more reliable and consistent, and not much less portable. OpenGL will run on Linux and Windows, DirectX 11 will run on Windows and XBOX. Android phones will use all kinds of different OpenGL versions that might as well be different APIs. Apple products use their own graphics API, PlayStation and Nintendo consoles use their own graphics APIs. Generally you will want to use the platform's native API. However, after you are comfortable in one of them, the knowledge is transferrable to an other one, just with a slightly different syntax. 

This tutorial series should be a good starting point how to use the newer DX11 API: http://www.rastertek.com/tutdx11s2.html
 

This topic is closed to new replies.

Advertisement