topical media & game development

talk show tell print



Microsoft DirectX is an advanced suite of multimedia application programming interfaces (APIs) built into Microsoft Windows; operating systems. DirectX provides a standard development platform for Windows-based PCs by enabling software developers to access specialized hardware features without having to write hardware-specific code. This technology was first introduced in 1995 and is a recognized standard for multimedia application development on the Windows platform.

DirectX 9.0 Components

Microsoft DirectX 9.0 is made up of the following components.

  Tutorial 1: Creating a Device
  Tutorial 2: Rendering Vertices
  Tutorial 3: Using Matrices
  Tutorial 4: Creating and Using Lights
  Tutorial 5: Using Texture Maps
  Tutorial 6: Using Meshes

XNA is Microsoft's game development platform. Its mission is to enable developers to help contain costs while allowing developers to create better games, faster and across consumer platforms. By integrating the best innovations from across Microsoft with the best innovations in game development from across the industry, XNA is targeted to help contain the skyrocketing development costs and allow developers to concentrate on the unique content that differentiates their games.

  "Software will be the single most important force in digital entertainment over the next decade. XNA underscores Microsoft's commitment to the game industry and our desire to work with partners to take the industry to the next level."
    - Bill Gates, founder and chief software architect of Microsoft 


DirectShow System Overview

The Challenge of Multimedia

Working with multimedia presents several major challenges: <ul>
  • Multimedia streams contain large amounts of data, which must be processed very quickly.
  • Audio and video must be synchronized so that it starts and stops at the same time, and plays at the same rate.
  • Data can come from many sources, including local files, computer networks, television broadcasts, and video cameras.
  • Data comes in a variety of formats, such as Audio-Video Interleaved (AVI), Advanced Streaming Format (ASF), Motion Picture Experts Group (MPEG), and Digital Video (DV).
  • The programmer does not know in advance what hardware devices will be present on the end-user's system. </ul>

    The DirectShow Solution

    DirectShow is designed to address each of these challenges. Its main design goal is to simplify the task of creating digital media applications on the Windows platform, by isolating applications from the complexities of data transports, hardware differences, and synchronization.

    To achieve the throughput needed to stream video and audio, DirectShow uses DirectDraw and DirectSound whenever possible. These technologies render data efficiently to the user's sound and graphics cards. DirectShow synchronizes playback by encapsulating media data in time-stamped samples. To handle the variety of sources, formats, and hardware devices that are possible, DirectShow uses a modular architecture, in which the application mixes and matches different software components called filters.

    DirectShow provides filters that support capture and tuning devices based on the Windows Driver Model (WDM), as well as filters that support legacy Video for Windows (VfW) capture cards, and codecs written for the Audio Compression Manager (ACM) and Video Compression Manager (VCM) interfaces.

    The following diagram shows the relationship between an application, the DirectShow components, and some of the hardware and software components that DirectShow supports.


    As illustrated here, DirectShow filters communicate with, and control, a wide variety of devices, including the local file system, TV tuner and video capture cards, VfW codecs, the video display (through DirectDraw or GDI), and the sound card (through DirectSound). Thus, DirectShow insulates the application from many of the complexities of these devices. DirectShow also provides native compression and decompression filters for certain file formats.

    (C) Æliens 04/09/2009

    You may not copy or print any of this material without explicit permission of the author or the publisher. In case of other copyright issues, contact the author.
  • <script src="" type="text/javascript"> </script> <script type="text/javascript"> _uacct = "UA-2780434-1"; urchinTracker(); </script>