This is 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 awesome 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++.
Introduction Welcome to Part 2 of Direct2D fundamentals on Pluralsight. My name is Kenny Kerr and in this course, I'm going to take you even deeper into this powerful graphics API. If you haven't done so already, I encourage you to work through Part 1 of this course as it lays the foundation for everything you will learn in this new course. Since I recorded Part 2 of this course, Direct2D version 1. 1 has become widely available; there is really no reason not to use this new version of the API and many reasons to adopt it wholeheartedly. In this first module, I'm going to introduce you to Direct2D 1. 1 white matters and introduce the course as a whole.
Common Foundation Kenny Kerr: Welcome back to Part 2 of Direct2D Fundamentals on Pluralsight. My name is Kenny Kerr and in this module I'm going to lay the common foundation for building a cross platform application on Windows and Windows Phone. I don't believe in building lowest common denominator style apps, but when there is an opportunity to abstract away the differences without any loss of fidelity to a particular environment, then I tend to embrace it. Direct2D with the help of DirectX provides just such an abstraction. In this course I'm going to walk you through the development of the clock application from scratch. I'll take you from an empty project and show you every step of the way. In the process you will learn everything you need to know about Direct2D and DirectX in general to build a stunning app for these three environments. First up is the Desktop.
Desktop Window Kenny Kerr: Welcome back to Part 2 of Direct2D Fundamentals on Pluralsight. My name is Kenny Kerr and in this module I'm going to show you how to get started with Direct2D 1. 1 on the desktop. In part 1 of this course I showed you how to create a desktop publication just with ATL and how to incorporate the Direct2D factory and classic Window render target. But Direct2d is about so much more than Window rendering and in version 1. 1, even more so. To fully realize the benefits of Direct2D 1. 1 we need to revisit the desktop Window and that's what this module is all about. ( Silence )
Direct3D Welcome back to Part 2 of Direct2D fundamentals on Pluralsight. My name is Kenny Kerr and in this module, I'm going to introduce you to Direct3D, specifically the Direct3D device driver. I'll show you how to create the Direct3D device and point out some things to watch out for. Direct3D is Direct2D's big brother. In DirectX 11. 1, these two sibling APIs get along a whole lot better but it all starts with an understanding of the Drect3D device.
Swap Chain Kenny Kerr: Welcome back to Part 2 of Direct2D Fundamentals on Pluralsight. My name is Kenny Kerr, and in this module I'm going to introduce you to the DXGI Swap Chain. DXGI is in many ways the glue that holds the DirectX family together. In the previous module when I wanted to created a Direct2D device context based on a Direct3D device, I needed to first get the device's DXGI interface. DXGI is another API that is relatively new to the DirectX family, but that plays a starring role in modern Direct2D applications. Let's take a look.
The Clock Kenny Kerr: Welcome back to Part 2 of Direct2D Fundamentals on Pluralsight. My name is Kenny Kerr and in this module I'm going to show you how to draw a symbol and a log clock in Direct2D. This example bodes on all of the foundational work we've covered thus far in this course. Along the way, I'll introduce you to some new features in Direct2D 1. 1 such as, image effects and the ability to adjust Direct2D's interpretation of pixel coordinates. Let's start by drawing the basic clock.
Animation Welcome back to part two of Direct2D fundamentals on Pluralsight. My name is Kenny Kerr and in this module I'm going to show you how to add animation to your application. Animation is a huge topic and I'm only going to scratch the surface here. Still, by the end of this module, we should have the clock application animating smoothly both just for accurate 60-frame per second rendering as well as with some nice visual effects.
Windows Runtime Welcome back to part two f Direct2D Fundamentals on Pluralsight. My name is Kenny Kerr and in this module I'm going to show you how to take the clock application that's been developed on the desktop and move it over to the Windows Runtime. Specifically I'm going to show you what it takes to get it all working from within the Windows store app. Before we can get to that though, I need to show you what a Windows store app is made of.
Windows Phone Welcome back to Part 2 of Direct2D fundamentals on Pluralsight. My name is Kenny Kerr and in this module, I'm going to show you how to take a Direct2D application that you develop for Windows 8 and move it to Windows Phone 8. There really isn't very much to do and it's very much like the Windows store project. The project's one main function is identical; the sample window inheriting from the core window class template, along with the clock sample mixing glass is identical. But there is of course the unfortunate reality that the Windows Phone SDK does not yet officially support any of this, Direct2D isn't support, DirectWrite isn't supported, same for the Windows imaging component and the Windows animation manager. Still, if you're willing to break the rules a little, then stick around and I'll show you what it takes to get it to work, just don't expect it to be accepted by the Windows Phone store police.