topical media & game development
_uacct = "UA-2780434-1";
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.
- DirectX Graphics combines the Microsoft DirectDraw and Microsoft Direct3D components of previous DirectX versions into a single application programming interface (API) that you can use for all graphics programming. The component includes the Direct3D extensions (D3DX) utility library, which simplifies many graphics programming tasks.
- Microsoft DirectInput provides support for a variety of input devices, including full support for force-feedback technology.
- Microsoft DirectPlay provides support for multiplayer networked games.
- Microsoft DirectSound can be used in the development of high-performance audio applications that play and capture waveform audio.
- Microsoft DirectMusic provides a complete solution for both musical and non-musical soundtracks based on waveforms, MIDI sounds, or dynamic content authored in DirectMusic Producer.
- Microsoft DirectShow provides for high-quality capture and playback of multimedia streams.
- DirectSetup is a simple API that provides one-call installation of the DirectX components.
- DirectX Media Objects provide support for writing and using data-streaming objects, including video and audio encoders, decoders, and effects.
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:
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.
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.
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.