Windows With C++ Introducing Direct2D Kenny Kerr This column is based on a prerelease version of Windows 7. Details are subject to change.
Introduction In this post, I present a sample animation framework that demonstrates how Direct2D and DirectWrite can be used in a wide variety of applications. This post is targeted at game developers and demoscene coders who want to take advantage of modern hardware-accelerated components. Direct2D was designed for applications that need graphics intensive operations and yet demand high performance and reliability; these applications include internet browsers, office applications, and graphics editors. But Direct2D’s applicability extends beyond these problem domains and well into the realms of games and art.
In Windows 7 we have invested heavily in building a new 2D drawing API in the DirectX family called Direct2D. This API was developed to fill several holes in our Windows graphics platform. One of the most important things to rectify was the lack of hardware acceleration for regular 2D application rendering. With the release of Windows Vista, GDI hardware acceleration was removed. We also wanted to modernize the feature set for 2D rendering with antialiasing and alpha blending support, as well as add interoperability with the other modern graphics APIs. Finally, we also wanted to ensure that server side rendering was addressed as part of developing a new API.
One of the challenging aspects of working on a product development team is that you often have to keep the subject of your work secret for various reasons. I’m a Dev Lead in the Windows Desktop Graphics organization, and my team has been working quietly for the past year on an exciting new graphics technology – Direct2D –that was announced recently at the Professional Developer’s Conference (PDC) in Los Angeles. Direct2D (or D2D ) is a native immediate-mode 2D graphics rendering API that is built on top of Direct3D , and offers some compelling performance and visual quality improvements over GDI and GDI+ :