Looking for a great set of C++ resources out there? There is an increasing focus on native programming on our client stack, especially with gaming and high fidelity graphics being super important. If you look at the number of sessions dedicated to DirectX and C++ in the recently concluded //build, it should be obvious. Clearly not all of us will focus in this area, but if you are interested in building an expertise in the area, I wanted to collect some of the training resources available for you to use.
C++
(Obviously a drop in the ocean compared to what’s out there)
If you are new to the language, you can start with the following Pluralsight courses:
- http://pluralsight.com/training/Courses/TableOfContents/cpp-fundamentals
- http://pluralsight.com/training/Courses/TableOfContents/cppfund2
For a little more advanced treatment
Also excellent is Stephan T. Lavavej (STL)’ s series on C9
Standard Library and Containers
- Again Stephan Lavavej’s C9 series is excellent - http://channel9.msdn.com/Series/C9-Lectures-Stephan-T-Lavavej-Advanced-STL
C++ 11 Additions
- List of C++ 11 features in VC 11 http://blogs.msdn.com/b/vcblog/archive/2011/09/12/10209291.aspx OR http://msdn.microsoft.com/en-us/library/vstudio/hh409293.aspx
Visual C++ blog - http://blogs.msdn.com/b/vcblog/
- If you are not subscribing and you are interested in C++ - this should be the first thing on your to do list
All C++ sessions at //build 2012
Asynchrony & parallelism in C++
- PPL - http://msdn.microsoft.com/en-us/library/dd504870.aspx
- GPGPU/C++ AMP - http://msdn.microsoft.com/en-us/library/hh265137.aspx
- Native parallelism blog - http://blogs.msdn.com/b/nativeconcurrency/
Communications
An excellent book
- C++ Primer (Stan Lippman et al) - http://www.amazon.com/Primer-5th-Edition-Stanley-Lippman/dp/0321714113/ref=sr_1_1?ie=UTF8&qid=1352328582&sr=8-1&keywords=C%2B%2B+Primer – this is an excellent classic – latest edition has great coverage of C++ 11 features, the name Primer is really misleading.
Graphics/Gaming with DirectX
DirectX is a very large landscape. The best way to learn it from my personal, limited experience is to break it down into 2D and 3D, and then attack one at a time (assuming you need to learn both – if not just stick to one).
Direct3D Tutorials – I found the first one to be pretty easy to digest, and fairly well organized. If you are not interested in desktop apps, just go through the one for D3D 11.1 for Windows 8
- http://www.directxtutorial.com/
- This one is focused on the desktop and a little dated and focused on D3D9, but it does lay out the concepts pretty nicely.
DirectWrite Tutorial
Direct2D page on MSDN
DirectX/XAML interop
DirectX tooling support in VS 2012
Direct3D Starter Kit
An Excellent book – 3D Game Programming with DirectX 11 by Frank Luna
All DirectX related videos from //build
- http://channel9.msdn.com/Events/Build/2012/3-109
- http://channel9.msdn.com/Events/Build/2012/2-032
- http://channel9.msdn.com/Events/Build/2012/4-102
- http://channel9.msdn.com/Events/Build/2012/3-107
- http://channel9.msdn.com/Events/Build/2012/3-112
- http://channel9.msdn.com/Events/Build/2012/3-113
- http://channel9.msdn.com/Events/Build/2012/4-001
Some good blogs to read
- http://blogs.msdn.com/b/directx/
- http://blogs.msdn.com/b/chuckw/
- http://blogs.msdn.com/b/shawnhar/
- http://directx.com/
Do you have any recommendations?
// end