a good DirectX 11 tutorial (C++)

Started by
6 comments, last by dpandza 12 years, 11 months ago
hello everyone.

i really want to learn game programming in C++. i read at the internet that DirectX is a good way. i installed DirectX 11 SDK and searched for a good tutorial. But all tutorials went to 3D games immediately. I assume that 3D games are way harder to make then 2D games. And a lot tutorials used older versions which did not match DirectX 11.

So my question is, do you know a good DirectX 11 tutorial that starts at the beginning?

i have lots of experience whit Win32 ( I think), and no experience whit game programming.
Advertisement

hello everyone.

i really want to learn game programming in C++. i read at the internet that DirectX is a good way. i installed DirectX 11 SDK and searched for a good tutorial. But all tutorials went to 3D games immediately. I assume that 3D games are way harder to make then 2D games. And a lot tutorials used older versions which did not match DirectX 11.

So my question is, do you know a good DirectX 11 tutorial that starts at the beginning?

i have lots of experience whit Win32 ( I think), and no experience whit game programming.


First of all, welcome to GameDev, mate!

So, you want to learn how to create games with C++ and the DirectX SDK... The first thing that you need to be aware of is that there's no such thing as "DirectX 11 SDK", you've probably downloaded the SDK release from June of 2010. This SDK contains all the headers and libraries necessary to compile DX9, DX10 and DX11 projects. You need to know that none of these versions, although similar, are "backward compatible", if you wish to implement only DX11 support, you'll be stuck with a very small audience which can play your games (Win7/DX11-enabled graphics card). This is why most developers are still for the most part on DX9 (while implementing 10/11 support as well), even the share of the market with those who are running a DX10-capable OS with a DX10 graphics card is over 50% since May of 2010 (as Steam's charts suggest). This would be the best spot for an aspiring game programmer to start with if your choice is DirectX, but that will tie you to the Windows platform, as you are probably aware.

Your best friend, from now on, is the DirectX documentation which contains lots of goodies, introduction tutorials and other cool stuff in which you can sink your teeth in. If you do not like the rather professional, cold/distant "tone" of the documentation, you might want to check out a few websites like http://www.directxtutorial.com/, which offers a lot of content for free and teaches you on a "need to know" basis, as you go.

Bottom line is, as a newcomer to the Windows/DirectX game development world, you should stand in the middle and start studying DirectX 10 which a golden mix of what you require, from the now normalized stance of shader-oriented programming to the elimination of unnecessary queries since all DX10 capable devices share a common, full feature set as a defined minimum. DirectX 11 has some new twinkies to chew on, but it's mostly high end stuff that you do not need as a beginner and not to mention that starting with DX11 would narrow your audience greatly.

Hope it helps and I'd love to see what you come up with in the future! Good luck!
[size="1"]The best advice I can give is the one I follow myself - listen to those with more experience. Listen and absorb.
[size="1"]If you are a complete beginner and want to know more about game development, read this guide.
the documentation that i found did directly go Direct3D, I assume that Direct3D is for 3D, while i want to start out whit 2D games. I have found Direct2D, but i think that documentation is for 2D games.
So, is Direct3D also for 2D games, or should I use Direct2D for 2D games?
this link was posted in a thread i was just reading, if they are what you are looking for then props to original suggestee in that thread ryan mccabe
thanks, that tutorial seems a bit challenging, but i will give it a try.
Hmm, I had to go through a similar and painful process just under a year ago. I feel confident in saying that the best, or rather the only viable, way of learning this stuff, is to follow the tutorials for DX11 in the Sample Browser that comes with the SDK, and then go it alone with support from the msdn online library, EDIT: and of course netwroks like this one.
There's absolutely no reason whatsoever not to use D3D for a 2D game; 2D is just 3D with the 3rd dimension being constant after all.

Regarding the 9/10/11 thing, using D3D11 you can target a D3D9 or D3D10 feature level, meaning that your D3D11 code will run on older hardware Just Fine. Of course you'll still need Vista or Win 7 to use D3D11 in the first place, but otherwise there are no restrictions.

Direct3D has need of instancing, but we do not. We have plenty of glVertexAttrib calls.


There's absolutely no reason whatsoever not to use D3D for a 2D game; 2D is just 3D with the 3rd dimension being constant after all.

Regarding the 9/10/11 thing, using D3D11 you can target a D3D9 or D3D10 feature level, meaning that your D3D11 code will run on older hardware Just Fine. Of course you'll still need Vista or Win 7 to use D3D11 in the first place, but otherwise there are no restrictions.


Yes, you are correct, DX11 indeed includes feature levels for older versions... As of Direct2D, it's just a replacement for the deprecated DirectDraw... It is a bit simplified in respect to Direct3D, but I've heard some criticism from the creator of Braid that it's pointless. I'd stick to Direct3D for the same reason mhagain suggests... It's just one dimension held constant. And with the D3D API you can actually make nifty 2.5D effects in your game. But, in the end, it's your choice.
[size="1"]The best advice I can give is the one I follow myself - listen to those with more experience. Listen and absorb.
[size="1"]If you are a complete beginner and want to know more about game development, read this guide.

This topic is closed to new replies.

Advertisement