Microsoft� DirectX� 8.0 SDK
This CD is the Microsoft DirectX 8.0 Software Development Kit (SDK).
It contains all DirectX software required to create DirectX 8.0
compliant applications. Parts of this SDK will also be made
available for download at the Microsoft DirectX developer web page
(http://msdn.microsoft.com/directx).
Major components include: DirectX 8.0 system components (runtimes);
DirectX 8.0 Application Programing Interface (API) Documentation for
each of the DirectX core areas (written for C++ or Visual Basic
developers); DirectX 8.0 headers & libraries; Sample applications
and source code; miscellaneous tools and utilities.
After installing, those new to DirectX should start with the
DirectX 8.0 documentation. More seasoned developers may also want
to view the "WHAT'S NEW" section. Professional DirectX developers
should refer to the "KNOWN ISSUES" section prior to raising concerns.
__________________________________________________________________
Contents:
- INSTALLATION
- WHAT'S NEW
- CD LAYOUT
- DIRECTX 8.0 SDK RELEASE NOTES AND KNOWN ISSUES
- COMPILER SUPPORT
__________________________________________________________________
INSTALLATION:
ALWAYS UNINSTALL PREVIOUS RELEASES of the DirectX SDK prior to
installing DirectX 8.0 SDK Release (see UnInstall). The directory
structure and file names have changed significantly. Installing on
top of a previous installation will cause you problems.
On Windows 2000 systems, you must be logged in as administrator to
install the DirectX 8.0 runtimes.
If you install the BDA cab, the DirectX 8.0 setup program requires
that you restart your system.
UnInstall:
To uninstall, use "Add/Remove Programs" from the Control Panel to
uninstall the InstallShield installations.
__________________________________________________________________
WHAT'S NEW:
DirectX Audio (DirectSound & DirectMusic)
=========================================
DirectX 8.0 audio covers both DirectSound and DirectMusic API's. In
DirectX 8.0, these API's are more closely aligned and tied together.
There are many new features. They include:
Effects processing on DirectSound Buffers
DLS2 synthesis
Arbitrary loop points
Release waveforms
Optional Filter per voice
6-stage envelope
Ramped volume scaling
Time-stamped playback
"Audiopaths": a powerful and easy way to use the DirectMusic DLS2 synthesizer
for sound effects programming.
Submixing of audio prior to 3D processing (by DLS2 synthesizer)
Automatic streaming and ACM compression (ADPCM, etc.)
Composition enhancements
Audio Scripting
We also think you will want to look at using the DLS2 synthesizer as your
main sound effects engine. The DLS2 synthesizer is accessed primarily through
the DirectMusic API's. Please do not let the word, "Music" mislead you; the
DirectX 8.0 DirectMusic API's have been enhanced *specifically* for sound effects
playback. The new DirectMusic API's that are designed to support sound effects
refer to audiopaths. Please investigate audiopaths; they provide a lot of
cool features for sound effects. For example, if you have multiple sounds
that need to come from the same 3d location, you can pre-mix them (using Audiopaths)
and use only one 3d hardware buffer to play them.
Parameter Validation:
DirectSound in particular has some greater parameter validation in place
when the DirectSound8 interfaces are used.
-Waveformats are more tightly parsed
-You can no longer create a DirectSoundBuffer with both CTRL_3D and CTRL_PAN set
-You can no longer create a DirectSoundBuffer with CTRL_3D set and a wave format
with more than 1 channel. I.e. Only mono buffers may be created with CTRL_3D.
Scripting is very exciting. It puts much of the control over the audio
implementation of the game into the hands of the sound designer. Using
scripts, audio designers can change implementations, make the music 'magically'
interactive, and play different sound effects based on in-game variables.
It also drastically shortens the edit-integrate-listen cycle. This should
result in improved sound effects and music, with much less game-programmer
time required.
There are sections in the documentation on a new FullDuplex interface and
"Capture effects." These interfaces are not currently supported.
If you are using DirectPlayVoice, you should use those interfaces. If your
application requires audio capture outside of DirectPlayVoice,
you should use the existing DirectSoundCapture interfaces.
Direct3D
========
Migration of DirectDraw into Direct3D:
In DirectX 8.0, DirectDraw� is fully integrated into Microsoft Direct3D
to enable drastically simplified application initialization, improved data
allocation and management performance, and reduced memory footprint.
The new Direct3D infrastructure provides the services that are called
at relatively low frequency. These services comprise:
- Creation of Direct3D
- Creation of resources (textures, vertex buffers etc)
- Display mode selection
- Presentation of rendered images to the display
New Graphics Features for DirectX 8.0 are:
Parallel vertex input streams for more flexible mapping to dynamic
application data structures. Programmable vertex processing language
enables programmers to write hardware shaders for:
- Morphing/tweening animation
- Matrix palette skinning
- User-defined lighting models
- General environment mapping
- Procedural geometry
- Any other developer-defined algorithm
Programmable Pixel processing language enables programmers to write
hardware shaders for:
- Per-pixel lighting/bump mapping
- Per-pixel environment mapping
- Any other developer-defined algorithm
MultiSample Rendering support enables:
- Full-scene antialiasing
- Multisample effects such as motion blur, depth-of-field, etc.
Point Sprites enable:
- High-performance rendering of particle systems
3-D Volume textures enable:
- Range-attenuation in per-pixel lighting
- Volume atmospheric effects
- Easy texturing of very complex geometry
Higher-Order Primitive Support:
- For enhancing the appearance of 3-D content
- Facilitating mapping of content from major 3-D authoring tools
Higher-Level Technologies:
- 3-D content creation tool plugins for export into Direct3D of skinned
meshes using a variety of Direct3D techniques such as, multi-resolution
LOD geometry, and higher order surface data.
Direct3D Feature Notes:
No significant API changes are contemplated beyond this point.
All implemented features have been tested individually
to some extent, but they have not been tested in exhaustive combinations
yet. Many features in DirectX 8.0 are awaiting new hardware, however
there is at least one implementation available for each of the features
shipped:
- Programmable vertex shaders are supported on the host CPU. On CPUs they
will operate with performance comparable to HW implementations and can be
used immediately for DirectX 8.0 prototyping and development.
- Programmable pixel shaders are supported on the host CPU using refrast
only. These can be used for prototyping DirectX 8.0 shaders for use when
hardware ships.
- Parallel DMA data input is supported on refrast and the SW geometry pipeline.
- Point Sprites are supported in refrast, software T&L pipeline, and should
be supported in a prototype DirectX 8.0 driver from at least one hardware
manufacturer.
- Volume Textures are supported in refrast.
- Multisample rendering is supported in refrast and future hardware.
- Higher-Order Primitives are supported in refrast and via D3DX utilities.
D3DX
====
Debug Binaries for D3DX:
The D3DX library is a static library. However, to help debugging, we also
have