I have recently finished most of the basic syntax of C++, and I'm aiming towards DirectX (Direct2D and Direct3D, to be precise)
I was wondering what do I need to learn before diving into DirectX technologies.
Any help would be greatly appreciated!
I have recently finished most of the basic syntax of C++, and I'm aiming towards DirectX (Direct2D and Direct3D, to be precise)
I was wondering what do I need to learn before diving into DirectX technologies.
Any help would be greatly appreciated!
A good place to start is the DirectX Tool Kit for DirectX 11, and the tutorials for it. This covers the basics of using Direct3D 11 and XAudio, and provides a nice wrapper for XInput. Once you have worked through those, then you should have a good grounding to review the many other tutorials on the Internet. There are plenty of useful tutorials and books out there, but they often use the legacy DirectX SDK and make use of a lot of deprecated support code. You can learn a lot from these older sources, but it's helpful to know which part of the information is dated and which part is still 100% accurate.
Since DirectX Tool Kit is open source, you can easily explore it to learn what it is doing. It is also specifically designed to be very modular so you can replace portions of it as you learn different aspects of the Direct3D graphics pipeline, HLSL shader programming, dynamic vs. static submission, resource management, etc.
In terms of background material, there are numerous introductory books for graphics programming. They will cover the key topics of transformation math and view systems, texturing and rasterization, and other key concepts. For DirectX in particular, Frank Luna's Introduction to 3D Game Programming with DirectX 11 is still good, but does suffer from having been published just prior to the deprecation of the DirectX SDK. See this post for the specifics.