I want to make a 2D desktop GUI application with DirectX but I don’t know which version to use. I initially tried Direct2D but it never really gained popularity, thus there isn’t a lot of community support or documentation for it compared to the rest of DirectX, so it’s not an option.
So I have three options:
- DirectX 9.0c
- DirectX 10
- DirectX 11 (not 11.1, I’m not getting Windows 8)
A knowledgeable friend of mine strongly encouraged DirectX 9.0c saying that’s all I need, but I am wary of using an 8-year old platform. Microsoft is pretty much the zenith of legacy support but I think that they must have a limit. I have no idea of the difference between DX10 and DX11.
Keep in mind that I’m very much a novice programmer so this is mostly a learning project.
Any advice is appreciated!
Edit: I’d also appreciate advice on any significant differences in functionality or programming paradigms between the versions.
DirectX 9, because you’ll get more users.
Many DirectX 7 and DirectX 5 games still work just fine, not to mention titles that use DirectDraw. So there’s no problem with 8-year old platform. Using newer (than 9) version might not even benefit you, so blindly going for higher version number isn’t a good idea.
Depending on your circumstances you could also consider using OpenGL but that choice makes sense only if your app has to be cross-platform. If you know that application will be windows-only, then choosing DirectX 9 makes sense.