Inside DirectX: In Depth Techniques for Developing High Performance Multimedia App


The definitive guide to Microsoft's advanced, high-performance mulit-media componants.

Read More Show Less
... See more details below
Available through our Marketplace sellers.
Other sellers (Paperback)
  • All (13) from $1.99   
  • New (2) from $87.09   
  • Used (11) from $1.99   
Sort by
Page 1 of 1
Showing All
Note: Marketplace items are not eligible for any coupons and promotions
Seller since 2008

Feedback rating:



New — never opened or used in original packaging.

Like New — packaging may have been opened. A "Like New" item is suitable to give as a gift.

Very Good — may have minor signs of wear on packaging but item works perfectly and has no damage.

Good — item is in good condition but packaging may have signs of shelf wear/aging or torn packaging. All specific defects should be noted in the Comments section associated with each item.

Acceptable — item is in working order but may show signs of wear such as scratches or torn packaging. All specific defects should be noted in the Comments section associated with each item.

Used — An item that has been opened and may show signs of wear. All specific defects should be noted in the Comments section associated with each item.

Refurbished — A used item that has been renewed or updated and verified to be in proper working condition. Not necessarily completed by the original manufacturer.


Ships from: Chicago, IL

Usually ships in 1-2 business days

  • Standard, 48 States
  • Standard (AK, HI)
Seller since 2015

Feedback rating:


Condition: New
Brand new.

Ships from: acton, MA

Usually ships in 1-2 business days

  • Standard, 48 States
  • Standard (AK, HI)
Page 1 of 1
Showing All
Sort by
Sending request ...


The definitive guide to Microsoft's advanced, high-performance mulit-media componants.

Read More Show Less

Editorial Reviews

A guidebook for using Microsoft's application programming interface for graphics, sound, input, force feedback, and network game play. The book covers every aspect of the interface from DirectDraw to DirectPlay, only leaving out Direct3D, which Microsoft intends to cover in a separate volume due to its complexity. The CD-ROM includes the DirectX 5.2 SDK, with run-time files, headers, libraries, docs, and sample code. Annotation c. by Book News, Inc., Portland, Or.
Read More Show Less

Product Details

  • ISBN-13: 9781572316966
  • Publisher: Microsoft Press
  • Publication date: 3/1/1998
  • Series: Programming Series
  • Edition description: BK&CD-ROM
  • Pages: 550
  • Product dimensions: 7.47 (w) x 9.13 (h) x 1.49 (d)

Read an Excerpt

Chapter 2: Groundwork

Before we dive into coding with DirectX, we need to take care of a few preliminaries. In this chapter, we'll address a diverse set of topics that will lay a foundation for our work in future chapters.

What to Expect

The first version of DirectX was actually called the Game SDK. We created it because we saw an enormous untapped potential in Microsoft Windows-the potential to host fast-action games. Most of us on the project had some notion, in a dim, distracted sort of way, that the scope of our efforts could be bigger than we realized. Certainly there must be uses for our work beyond computer games, but we were too busy sweating out code to give much thought to the matter. Only when the Office group here at Microsoft contacted us and requested information about "that Game SDK thing" did we begin to have visions of grandeur. We had never considered that smooth animation could be applied to pie charts as well as to spaceships. Consequently, the Game SDK had a life span Of only one version-our work burst out of its gaming cocoon into a larger world of multimedia. DirectDraw, DirectPlay, and all the other "DirectSomethings" became known as DirectX.

just as DirectX is now recognized as being useful across a wide spectrum of applications, we wanted this book to be broadly applicable as well. We especially wanted to avoid authoring another book that describes how to create a particular type of game. You won't find chapters about creating your own 3D engine, your own side-scrolling engine, or your own sprite system inside this book. The bookstore shelves are already packed with these types of books, and most of theconcepts discussed in them can be implemented using DirectX. Once you've read this book, you'll have all the knowledge you need to make DirectX dance to your bidding, whether you're creating the next chart-topping game or a tool for analyzing the stock market.

Windows Stuff

Since many PC games are MS-DOS-based, it follows that many PC game developers will be new to Windows programming. It's beyond the scope of our efforts here to teach programming for Windows-we just don't have the space. We do promise to keep the Windows programming overhead to an absolute minimum, though. If you find yourself having difficulty with some of the fundamentals of Windows programming, there are books in the computer section of any bookstore that can help you out. In particular, Charles Petzold's programming Windows is considered by most to be the definitive introductory text in this area.


While DirectX can probably be accessed most easily using C or C++, it's not language specific. For example, Microsoft offers the Microsoft SDK for Java, a class library that makes DirectX services available to java applications. Thirdparty vendors offer controls using Microsoft's ActiveX standard, which can be used to access DirectX functionality from Web pages or from languages that don't support it directly. But while DirectX isn't language specific, most of its developers do have a preferred language. Being operating system people, most of us prefer to code in C. As you browse through the SDK sample programs, you'll find some source code written in C++; but for the most part, you should be prepared to read a lot of C.

We selected C for most of the SDK sample programs primarily because it's what we're most familiar with-DirectX itself is predominantly written in C, and we use C every day. While C++ might be a great candidate for building your application, we thought object-oriented constructs would tend to obscure the behaviors we wanted to illustrate. And of course, if you can read C++, you can read C, but the reverse is not necessarily true.

Code Examples

As we mentioned earlier in this chapter, our goal is not to teach game programming as much as it is to teach DirectX. Certainly, because DirectX was originally designed for computer games, it's often easiest to illustrate a concept with an example that has a gamelike feel, but we'll try to keep things from getting too involved. We've whittled the code samples down to the absolute minimum required to demonstrate a concept, eliminating unnecessary window dressing such as toolkits, user interface code, and complex game logic. So don' t expect anything too flashy, just raw DirectX.

A COM Primer

If you thought perhaps you could avoid it, you were wrong. Microsofts Component Object Model (COM) is everywhere now-at the foundation of many Windows products, even woven into Windows itself. COM, originally created to support object linking and embedding (OLE), is now out on its own and changing the way we develop Windows applications.

COM provides a foundation for component-based software development. It's easy to use and offers many benefits. COM's reputation has suffered unfairly because of its roots in OLE-the mere mention of which often causes developers to twitch nervously. OLE is a flexible, powerful system with a well-deserved reputation for being complex, difficult to work with, and potentially slow. COM, on the other hand, is simple, elegant, and adds very little overhead to an ap plication. The two technologies now lead independent, productive lives.

If you're interested in learning more about COM, perhaps even using it to create your own software components, you'll find several books listed in the appendix. Fortunately, to develop applications with DirectX, you only need to know how to use some of the basic COM functionality; you won' t have to implement it. For our purposes here, we'll attempt what might well be the world's most compact (and hopefully, effective) introduction.

COM is a standard that defines how software objects or components interact with one another. A COM object provides access to its functionality via one or more programming interfaces. An interface is a functional group of object methods that never changes. COM has become the foundation of a number of Microsoft products, including OLE and DirectX. DirectX's current implementation of COM is literally as simple as it can get and still be called COMsome purists would even disagree with this, depending on the finer points of their favorite definition. To be considered COM-compliant, an object must inherit its interfaces from the ancestor of all COM interfaces, IUnknown. This means that, at minimum, the interface must implement the lUnknown methods, shown in Table 2-1 on the following page. These three methods control an object's life span and provide access to the object through its interfaces.

Lifetime Management

The idea that an object can support multiple users or clients is fundamental to COM. Because no single client has knowledge of all the other clients, it's not possible for any client to know when an object should be destroyed-another client could still be using the object. This means that the object itself must be...

Read More Show Less

Table of Contents

Acknowledgments                                    xxv
 Introduction                                       xxvii 
PartI:  DIRECTX                                    3  
 Chapter  1 Introducing DirectX                     3   
 Chapter  2  Groundwork                            11   
 Chapter  3  Getting Started with DirectX          21
Part II: DIRECTDRAW 33 Chapter 4 Introducing DirectDraw 33 Chapter 5 Using DirectDraw 43 Chapter 6 Surfaces 63 Chapter 7 Rendering 83 Chapter 8 Blitting 95 Chapter 9 Page Flipping 113 Chapter 10 Palettes 133 Chapter 11 Overlays 147 Chapter 12 Windowed DirectDraw 165 Chapter 13 Applying DirectDraw 187
Part III: DIRECTSOUND 203 Chapter 14 Introducing DirectSound 203 Chapter 15 DirectSound Playback 223 Chapter 16 DirectSound in Three Dimensions 249 Chapter 17 Sound Capture and Notification 267
Part IV: DIRECTPLAY 283 Chapter 18 Introducing DirectPlay 283 Chapter 19 Using DirectPlay 293 Chapter 20 Message Handling 317 Chapter 21 Lobbies 361 Chapter 22 Applying DirectPlay 381
Part V: DIRECTINPUT 397 Chapter 23 Introducing DirectInput 397 Chapter 24 Mouse Input 427 Chapter 25 Joystick Input 439 Chapter 26 Keyboard Input 451 Chapter 27 Force Feedback 459
Part VI: DIRECTSETUP 493 Chapter 28 Using DirectSetup 493 Chapter 29 Wrapping It Up 513 Appendix 525 Index 527
Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star


4 Star


3 Star


2 Star


1 Star


Your Rating:

Your Name: Create a Pen Name or

Barnes & Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation


  • - By submitting a review, you grant to Barnes & and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Terms of Use.
  • - Barnes & reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously

    If you find inappropriate content, please report it to Barnes & Noble
    Why is this product inappropriate?
    Comments (optional)