My latest course is now available on Pluralsight!
Direct2D Fundamentals – Part 2 is so much more than Direct2D. In many ways, it’s an intense crash course in DirectX programming. You’re going to learn about Direct3D, DXGI, devices, swap chains, but it’s more than that.
This course is about developing stunning applications for Windows. You’re going to learn how to develop applications that can run cross-platform, reaching the Windows desktop, Windows Store, and Windows Phone environments. You’re going to learn about performance and efficiency. You’re going to learn how to produce high-quality animation. Moreover, you’re going to do it all in C++.
If you haven’t done so already, start by working through part 1 of Direct2D Fundamentals. This will prepare you by laying the foundation for everything you will learn in this new course.
Here’s a brief description of the modules in Direct2D Fundamentals – Part 2.
What is Direct2D 1.1? Where can it be found? Introduction to the course demo.
Building the foundation, error handling, and a common set of abstractions for a cross-platform application.
The reference platform, optimizing window plumbing, and resource handlers.
Understanding and creating the underlying Direct3D device, hardware and software drivers, and the Direct2D device and device context.
What is DXGI? What is a swap chain? Creating and resizing a swap chain. Targeting, rendering, and presentation with Direct2D and DXGI.
How to draw an analog clock with Direct2D primitives and transforms. Adding a background image with DPI awareness. Using image effects to add a shadow.
Revisiting the message loop. Understanding swap chain occlusion and its impact on performance. Power management and efficiency. Using the Windows Animation Manager for scheduled animation.
Understanding the CoreWindow abstraction. Optimizing with visibility and the message loop. Using DirectX in the Windows Runtime.
Limitations in the Windows Phone SDK. Porting the clock application, and unleashing the phone’s awesome power with the restricted API.