Wednesday, October 14, 2009

18. DirectDraw and Direct3D Immediate Mode




< BACK  NEXT >

[oR]

Chapter
18. DirectDraw and Direct3D Immediate Mode


GDI as a Windows graphics programming API has been around for a long time. So much has changed in the personal computing world that it's time for GDI to make fundamental changes, although we have seen that it keeps improving little by little with every new operating-system releases.



The future of GDI is code-named GDI+, which will be the next-generation GDI from Microsoft. According to published Microsoft documentation (www.microsoft.com/hwdev/video/-GDInext.htm), GDI+ will create the infrastructure for desktop user interface innovations. It will permit easy integration of 2D and 3D, will bring digital imaging to the desktop, and will raise the bar on desktop graphics and performance. GDI+ will offer enhanced graphics capabilities such as alpha blending, antialiasing, texturing, advanced typography, imaging, hardware acceleration, window layering, double buffering, front-end or back-end composition, gamma control, displayed subpixel rendering, 3D user interface, etc.



You can feel that the common theme of GDI+ is the integration of Microsoft's game-programming API DirectDraw and Direct3D with the traditional GDI. The integration of 2D and 3D starts from the API level and goes well into the DDI (device driver interface) level. On the DDI level, GDI+ will use a mixture of 2D and 3D commands for all hardware-accelerated rendering. GDI+ will define new tokens for primitives that are not already described by existing DirectDraw and Direct3D tokens.



What we are hearing here is that DirectDraw and Direct3D will not be for games and education software only; they will become a core portion of GDI+. In other words, GDI+ is GDI + DirectDraw + Direct3D + more. Now we have every reason to jump-start DirectDraw and Direct3D.



DirectDraw is a rather complicated 2D programming API which may need 200 pages for adequate coverage. Direct3D Immediate Mode is so complicated that it takes lots of 3D computer graphics knowledge to merely understand it, not to say use it effectively. This short chapter is only a brief introduction to DirectDraw and Direct3D. The focuses of our presentation are:




  • Introducing the basic concepts, interfaces, and methods to GDI pro grammers.



  • Developing C++ classes for easy DirectDraw and Direct3D programming.



  • Demonstrating how GDI features can be used in DirectDraw and Direct3D programming.



  • Demonstrating how DirectDraw and Direct3D can be used in �traditional� Windows programs.








< BACK  NEXT >





No comments:

Post a Comment