Cxbx-Reloaded/import/DirectX8/DXReadme.txt

1037 lines
45 KiB
Plaintext
Raw Blame History

Microsoft(R) DirectX (R) 8.1 SDK - Final Release
This is the Final Release of Microsoft's DirectX 8.1 Software Development
Kit (SDK). It contains all DirectX software required to create
DirectX 8.1 compliant applications. Following the Final Release,
parts of this SDK will also be made available for download at the
Microsoft DirectX developer webpage <http://msdn.microsoft.com/directx>.
Major components include: DirectX 8.1 system components (runtimes);
DirectX 8.1 Application Programming Interface (API) Documentation
for each of the DirectX core areas (written for C++ or Visual Basic
developers); DirectX 8.1 headers & libraries; Sample applications
and source code; miscellaneous tools and utilities.
After installing, those new to DirectX should start with the
DirectX 8.1 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.1 SDK RELEASE NOTES AND KNOWN ISSUES
- COMPILER SUPPORT
__________________________________________________________________
INSTALLATION:
- ALWAYS UNINSTALL PREVIOUS RELEASES of the DirectX SDK prior to
installing DirectX 8.1 SDK Release (see UNINSTALL). Installing
on top of a previous installation will cause you problems.
- In addition, you should uninstall any DirectX SDK installations
that may be part of a Microsoft Platform SDK installation prior
to installing the DirectX 8.1 SDK.
- DirectX 8.1 SDK does not support pre-release versions of Windows XP,
Windows 95, Windows NT, or NEC PC98 systems. Installations on
these systems have been blocked.
- On Windows 2000 or Windows XP, You must be logged on as an
administrator before installing the DirectX 8.1 SDK, installing
the runtime, using any of SDK tools, or running any of the SDK samples.
- Running the DirectX 8.1 SDK install on Windows XP and later checked
builds may result in assertions from inside the install package.
We have found no cases where continuing on past the assert dialog
boxes results in improper installation of the DirectX 8.1 SDK, so
it is safe to continue past these asserts.
- An Internal error can occur after the NTFS permissions for the
Administrators group or the System account have been removed from
the %SystemRoot%\Installer folder. To resolve this issue, reset
the NTFS permissions for the %SystemRoot%\Installer folder so
that it includes both the Administrators group and the System
account. Search the Microsoft knowledge base article for more
information.
- Please be alerted to the fact that using the "subst" command can
result in path names that are too long for the installer to operate
correctly. Please do not use this command for determining target drives
of the DirectX SDK installer prior to invoking the installer. This is
also liable to cause the SDK uninstaller to fail.
- The DirectX 8.1 runtime installer should not be run in Compatibility Mode.
- The DirectX 8.1 runtime requires a Pentium compatible CPU for operation.
Setup will not install on processors that do not report Pentium
compatibility. Some older Cyrix processors, while compatible with
the Pentium instruction set, report as x486 processors, and thus do not
support installation of the DirectX 8.1 runtime.
- When installing the DirectX 8.1 developer runtime from the DirectX 8.1 SDK
you will notice that the size requirements are calculated incorrectly.
Please allow an extra 80 MB free above the calculated disk space when installing
the developer runtimes. The extra free space is required for uncompression
and installation of the developer runtimes. Only 40 MB is actually
needed once the developer runtime installation is complete. The DirectX
Setup API will check for and display error messages when these requirements
are not met.
UNINSTALL:
To uninstall, use "Add/Remove Programs" from the Control Panel to
uninstall the InstallShield installations.
__________________________________________________________________
WHAT'S NEW:
DirectX 8.1 shipped as an integral part of Windows XP and is available
for all versions of Windows 98, Windows ME and Windows 2000. Developers
choosing to support Windows 95 should continue to use DirectX 8.0a.
DirectX 8.1 includes all of the previous DirectX 8.0 functionality as
well as new DirectX graphics features and new DirectShow features specific to
Windows XP.
DirectX 8.1 graphics supports the following new features:
- new pixel shader models 1.2, 1.3, and 1.4
- new high precision texture formats
- new nPatch quadratic interpolation order
- new dynamic texture support
- new D3DX methods
- updated DirectX graphics documentation
There have been considerable improvements made to the DirectShow content
for the DirectX 8.1 SDK. These improvements include updating existing samples,
adding many new samples (including Windows XP samples), providing modified
source code for the sampleGrabber, and improving documentation. See the
DirectShow section below for more specific information.
The SDK contains several new tools, they include:
- screensaver framework
- AppWizard support
- DX error lookup tool,
- MView mesh viewer
- DP8sim network simulator
This DirectX 8.1 version of DirectMusic Producer sports a number of new features to streamline the authoring process for composers and sound designers. Some of these features include low enough software synthesizer latency to input musical performances from a keyboard in real time (WDM driver required), easier wave capture, and improved DLS/wave editing features like one-click stereo wave insert, insert silence and a resample wave option. Segment Designer features include multiple wave insert as segments, the ability to edit segment length based on clocktime, and ability to start and stop segments while editing DMO effects. Other improvements include many bug fixes, an improved look to segment strips and customizable wallpaper. Documentation has been thoroughly revamped and a new tutorial with a sample game is also available.
__________________________________________________________________
CD LAYOUT:
The following is a brief description of the directories found with a complete
DirectX 8.1 SDK download. Depending on options specified during
installation, some of these directories can be installed on your hard drive.
\Bin
\DXUtils
High level DirectX applications & tools.
All can be accessed from the Start menu if "Utilities" are installed.
Note: Japanese systems will require Internet Explorer 5.0 (IE5) for
the DirectX Control Panel to display properly. IE5 can be found at
http://www.microsoft.com/windows/ie/default.htm.
\AppWizard
- This is the DirectX 8.1 application Wizard that can be plugged
into Microsoft Visual C++ 6.0. The AppWizard creates a minimal C++
template application that optionally integrates Direct3D,
DirectInput, DirectMusic, DirectSound, and DirectPlay to work
together in conjunction. It creates basic-- yet easy to build
upon-- functionality, demonstrating the use of each of these
components right from the start.
To install:
1. Go to \Bin\DXutils\AppWizard\ directory.
2. copy DxAppWiz.awx to C:\Program Files\Microsoft
Visual Studio\Common\MSDev98\Template
To use:
1. run VC6
2. Click "New", under the "New Projects" tab, click the "DirectX
AppWizard" wizard.
3. Type a project name and click OK.
4. Choose wizard options, and click finish when done.
5. Build and run the new project.
\Doc
Contains reference documentation for the DirectX 8.1 APIs.
This Documentation must be viewed with Windows HTMLHelp.
Note: The HTMLHelp viewer requires a minimum installation of
Internet Explorer 5.0 (IE5). IE5 can be found at
http://www.microsoft.com/windows/ie/default.htm.
\Essentls
\DMusProd (DirectMusic Producer)
- DirectMusic Producer is the authoring tool for DirectMusic. It
allows composers and sound designers to use the interactive and
variable resources of DirectMusic along with the consistent sound
performance of DLS. DirectX Audio Scripting can also be authored
and tested within Producer. The DirectMusic Producer setup program
and all files are located here.
\Extras
\Direct3D
- Skinning exporter tools
\DirectShow
- Contains the DVDBoilerplate. See readme.txt within the directory
for more information.
- Contains additional media that can be used with DirectShow and the
DirectShow Editing Services (DES) interfaces.
\Documentation
- Contains DirectX 7 HTMLHelp Documentation for English and Japanese.
- Also contains DirectX 7 Documentation in Microsoft Word format
(English only).
- Contains DirectX 8 HTMLHelp Documentation for Japanese.
\Symbols
- Contains directories of DirectX 8.1 symbol files for
Win9x, Win2000 and WinXP (retail and debug for each).
\Include
contains DirectX 8.1 include files for DirectX core components.
\Lib
contains DirectX 8.1 library files for DirectX core components.
\License
Text versions of the DirectX SDK and End User License Agreements and
the Redistributable License Agreement.
\Redist
Redistributable versions of the DirectX 8.1 Runtime.
\Samples
Contains all sample code and sample binaries. Most samples can be
accessed from the Start menu when installed via the downloaded
InstallShield setup.
\SDKDev
This directory contains the runtime installs that are installed with
the SDK. They are English only and contain both debug and retail
DirectX 8.1 system components that can be "switched" between retail
and debug without re-installing. For the DirectX 8.1 components,
retail or debug can be switched via the DirectX Control Panel.
The \retail folder contains the setup that will install non-DirectX 8.1
retail components while the \debug folder will install all debug
components. Both install DX8.1 retail and debug components; These are
the only components that can be "switched". The \window XP folder
contains the Windows XP version of these files.
\Suppport
This folder contains support tools required for the SDK installation.
It can be deleted following installation.
\System32
This folder contains support tools required for the SDK installation.
It can be deleted following installation.
__________________________________________________________________
=========================================
DIRECTX 8.1 SDK NOTES
=========================================
New features:
Direct3D SDK graphics support includes
-Added new Direct3D samples,
(cull, lighting, volume fog, self-shadowing bumpmapping )
-enhanced usage of D3DX in the samples,
-continued improvement of the D3Dx documentations,
-the SDK now contains a graphics screensaver framework
-MView mesh utility, useful for previewing meshes, normals, etc.
- The SDK screensaver framework is modeled after the graphics sample framework. The
screeensaver sample framework provides multi-monitor support; something the standard
graphics sample framework does not. There is one simple screensaver sample
provided, "Moire", that uses the screensaver framework. The DirectPlay Maze Client
also uses this screensaver framework, but is not intended as a screensaver framework
sample. You can find the screensaver framework with the common sample classes
(d3dsaver.cpp & d3dsaver.h), the Moire screensaver sample with the Direct3D samples
and the Maze Client with the DirectPlay samples.
- DirectX AppWizard for Visual C++ v6.0. A DirectX AppWizard is included in the
DirectX 8.1 release. See "What's New" or "CD Layout"-"Extras"-"AppWizard"
for more information
- DirectX error lookup tool providing error lookup for Directx 8.x interfaces only. There is
also an error lookup function you may use in your application.
Issues:
- Be sure to set the paths to the DirectX 8.1 lib and headers within Visual
Studio. They must be listed first. Otherwise you may experience compiler
errors.
- You must regserve the VB OCX before running the VB samples if you install the
DirectX 8.1 SDK before Visual Studio. The easiest way is to open visual Studio,
which registers the ocx for you.
- The DirectDraw "Debug Level" slider in DirectX Control Panel Applet does
not function. Instead use the "Debug Output Level" slider on the Direct3D
tab, this will effect both DDraw and D3D8. Also note that DirectDraw labels
it's debug spew as coming from "Direct3D8".
- Netmeeting and WindowsWP remoting disables graphic hardware acceleration.
=========================================
Documentation
=========================================
Issues:
- The links to the DirectX 8.1 documentation files from the start menu do not
work on Windows 98 SE. On all supported versions of Windows proper icons
are not displayed for the start mention documentation links.
- For proper viewing of the DirectX Documentation, install the docs from
the DirectX 8.1 SDK CD. Specify a full installation, or if you chose a
Custom install, ensure that you've selected Documentation.
- The known issues with the DirectX 8.1 Documentation are written up in a
separate file. You will find these issues listed in the
DirectX8_Doc_Readme.txt file found in the <DXSDKCDRoot>\dxf\dxsdk\doc\DirectX8
folder. This file is also installed into the <DXSDKInstallFolder>\doc\DirectX8
when Documentation is installed.
- See <DXDKCDRoot>\dxf\dxsdk\extras\documentation for other related
documentation from previous versions of DirectX. The Japanese version of
DirectX 8.0 help files have been added.
=========================================
DirectX for Visual Basic Samples:
=========================================
Issues:
- DBMON.exe is a console application which allows the Visual Basic DirectX
developer to take advantage of extended output that debug installs of
DirectX provide. This application works only under Windows 2000.
To use, execute the application. All debug output will be captured and sent
to the console window. If you are not seeing debug output, ensure that
you have installed the debug version of DirectX, that you are logged on to an
account with admin priviledges, and that you are running Windows 2000.
- If you are experiencing problems searching for and connecting to sessions
using DirectPlay for VisualBasic, you may need to update your system.
To update, install DCOM98 from:
http://download.microsoft.com/msdownload/dcom/98/x86/en/dcom98.exe
=========================================
DirectX Audio (DirectSound & DirectMusic)
=========================================
Issues:
- ParamEQ and Distortion effects have parameters that are sampling rate
dependent.
Setting these params to a value that is out of range for that sampling
rate will result in:
Distortion: Parameters are 'clipped' at the valid range for the
sampling rate
ParamEQ: If the frequency is greater than can be supported by the
sampling rate, the effect is disabled- In the DirectMusic
3DAudio sample, there may be some breakup if Doppler is set > 4
- DirectSound buffers that are created with DSBCAPS_CTRLFX must be at
least 100ms in length.
=========================================
Direct3D
=========================================
New features:
- new pixel shader models 1.2, 1.3, and 1.4
- new high precision texture formats
- new nPatch quadratic interpolation order
- new dynamic texture support
- new D3DX methods
New for DirectX 8.1 are pixel shader versions 1.2, 1.3, and 1.4. Information
on the new instructions is integrated into the pixel shader reference.
Dynamic textures are a new Microsoft<66> DirectX<74> 8.1 feature. To find out if
the driver supports dynamic textures, check the D3DCAPS2_DYNAMICTEXTURES
flag of the D3DCAPS8 structure. See SDK Documentation section
"Using Dynamic Textures".
Higher precision texture formats.
New npatch quadratic interpolation order.
In D3DX there have been a number of updates. See the D3DX section below.
New exporter support, in the extras folder. Includes 3DSmax4 and Maya4 support.
General Issues include:
- Alt-enter in the samples results in texture corruption for some drivers.
Workaround: Get newer drivers.
- The value for MaxPrimitiveCount defines the max number of vertices
as well as the max number of primitives that can be sent to a
DrawIndexedPrimitive or DrawPrimitive call.
- A bug in the Windows2000 kernel causes an issue upon mode-switches for
AGP surfaces locked with the NOSYSLOCK flag. The contents of any such
surface may become inaccessible for the duration of the NOSYSLOCK lock
if a mode-switch happens after the Lock and before the Unlock. This happens
for both DX7 and DX8 applications. The most likely scenario is a DX8
application running on a driver that supports hardware vertex buffers,
but using software vertex processing (fixed or shader). Under these
scenarios, Direct3D might keep a NOSYSLOCK lock on an AGP vertex buffer.
If the user alt-tabs out of the application or does anything else to cause
a mode-change, the thread writing into the vertex buffer may fault. There
is no known workaround.
- When using the function ValidateDevice on Win9x the return value will be
DD_OK if it is successful.
Point Sprite issues:
- When using the Direct3D software T&L pipeline (device created with
D3DCREATE_SOFTWARE_VERTEXPROCESSING flag set or with
D3DCREATE_MIXED_VERTEXPROCESSING flag and software vertex processing
toggled on), then point sprite support is guaranteed. When using
hardware vertex processing, some older drivers may not support point
sprites, indicated by d3dcaps->MaxPointSize = 0. Upgrading to a DX8
driver for these parts will enable them.
To ensure consistent behavior for point sprite support, set
D3DRS_CULLMODE = D3DCULL_NONE
D3DRS_FILLMODE = D3DFILL_SOLID
when rendering point sprites.
Vertex Shader issues:
- Two vertex shader instructions may produce implementation-specific
results for out-of-range inputs, such as the log of a negative number.
The log, logp and y- component of the lit instruction macro should not
be passed negative values for this reason.
Driver/Device Specific Issues:
- The Windows Millennium driver for the ATI Rage 128 fails (draws nothing)
when using vertex shaders which output more than two texture coordinates
per texture coordinate set when the D3DTTFF_PROJECTED bit is not set.
Direct3D Sample issues:
- There are miscellaneous issues with some display hardware & drivers.
Please let us know of any problems you encounter and specify whether you
believe it is sample or driver related.
=========================================
D3DX
=========================================
New features:
-D3DX math function CPU-specific optimizations,
-new methods on PMesh,
-loading volumes and cube textures from resources,
-new functions, including
-D3DXMatrixMultiplyTranspose(),
-D3DXQuaternionSquadSetup(),
-D3DXSplitMesh(),
-D3DXIntersectTri(),
-D3DXComputeNormalMap().
Issues:
- This product includes software developed by the University of California,
Berkeley and its contributors D3DX Mesh APIs.
- SetLOD and/or UpdateTextures (when updating between dissimilar miplevels)
will produce an AV with mipvolumes in Refrast and potentially some drivers.
- If you create vertex shaders with constants in the declarator, please verify
that every vertex shader that has the shader constants in the declaration is
created with the correct usage flag. Always use:
D3DUSAGE_SOFTWAREPROCESSING for software vertex processing,
0 for hardware vertex processing.
Failure to do so may result in your vertex shaders not validating on the
DirectX 8.1 runtime. This behavior will only be different from DirectX 8.0
on devices which are created with D3DCREATE_SOFTWARE_VERTEXPROCESSING flag.
=========================================
DirectInput
=========================================
New features:
-Action Mapper sample - a single player version of multimapper.
Issues:
- There are some know issues that can cause mouse behavior to be very sluggish
when debugging using DirectInput on Windows 2000 (Windows XP does not
exhibit this behavior at all). The DirectX control panel has options to
select input device emulation for mouse and keyboard which makes the devices
perform properly inside the debugger.
These settings are global so effect all DirectInput clients. They only
improve performance when using the debug binaries, and only for applications
that employ foreground exclusive device access. Some features, such as
masking the Windows keys, are not available when devices are emulated so
emulation is only recommended for debugging.
- On Windows 98, 98 Second Edition and Millennium Edition, the Gravis GrIP gamepad may not report data after a reboot.
To fix this you need to run the Game Controller tool from the Control Panel and click Refresh.
If the Game Controllers tool is missing from Control Panel, you need to restore a backup copy of the Joy.cpl file. To do this:
1. Close the Control Panel, if it is open.
2. Click Start, point to Find, and then click Files Or Folders.
3. In the Named box, type joy.bak.
4. In the Look In box, click My Computer, and then click Find Now.
5. In the list of found files, right-click Joy.bak, and then click Rename.
6. Type joy.cpl, and then press ENTER.
7. Close the Find: Files Named Joy.bak window.
8. Open the Control Panel
- The following devices are supported with device images in this release.
+ ACT LABS RS
+ ACT LABS Force RS
+ Gravis Xterminator Dual Control
+ Gravis Gamepad Pro
+ Gravis Eliminator Gamepad Pro
+ Gravis Xterminator Digital GamePad
+ Guillemot Dual Analog Gamepad
+ Guillemot Digital Gamepad
+ InterAct/3dfx SV-262A HammerHead Fx
+ InterAct Axispad
+ InterAct SV-251 Raider Digital
+ Logitech WingMan Formula (Yellow)
+ Logitech WingMan Extreme Digital 3D
+ Logitech WingMan Gamepad Black (USB)
+ Logitech Wingman Rally Force USB
+ Logitech Wingman Rumblepad
+ Microsoft Sidewinder Gamepad Pro
+ Microsoft SideWinder Force Feedback Wheel
+ Microsoft SideWinder Force Feedback Pro
+ Microsoft Sidewinder FF 2
+ Microsoft Sidewinder Dual Strike
+ Microsoft Sidewinder Precision 2
+ Microsoft Sidewinder Plug and Play
+ Microsoft SideWinder Game Pad
+ Microsoft SideWinder Precision Racing Wheel
+ Microsoft SideWinder Precision Pro
+ Microsoft SideWinder Freestyle Pro
+ Microsoft SideWinder 3D Pro
=========================================
DirectPlay
=========================================
New features:
- You can test your application under a variety of network conditions
with the new DP8Sim tool.
- SDK documentation now contains DirectPlay tutorials
Issues:
- To use DirectPlay Voice in full duplex mode, we recommend that you update
to the latest drivers for your audio device. Some older drivers do not
provide reliable full duplex performance.
- If you successfully connect to a location with any asynchronous
enumerations still active, the enumerations will be canceled automatically
for you. The DPN_MSGID_ASYNC_OP_COMPLETE messages for the enumerations
will list DPNERR_CONNECTING as the result code. As with all asynchronous
operations, if you attempt to call CancelAsyncOperation on the handle
after you have received its DPN_MSGID_ASYNC_OP_COMPLETE message, you
will get back the DPNERR_INVALIDHANDLE error code. Be aware that this
is the expected behavior and that you should not exit with an error
condition.
Notes on NATs (Network Address Translators):
- There are many different NAT solutions available, some of which are
different from others. We have attempted to document some of the issues
with various NAT solutions, but is not comprehensive. Please refer to
the DirectX Developer Page at <http://msdn.microsoft.com/directx> for
further information on these issues.
- When performing the first operation over the TCP/IP service provider,
DirectPlay attempts to detect a Network Address Translator (NAT) or
firewall. This increases the time that the Connect, Host, or EnumHosts
calls take. If you are sure that your machine is not behind a NAT or
firewall, you can set the following registry key values to 0 to disable
the detection:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DirectPlayNATHelp\DPNHPAST\DirectPlay8Priority
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DirectPlayNATHelp\DPNHUPnP\DirectPlay8Priority
As with all registry modifications, only perform them if you are comfortable
doing so, and have a back up.
DirectPlay Voice codecs via Windows ACM (Audio Compression Manager):
- DirectPlay Voice uses the following codecs via the Windows ACM:
- Microsoft ADPCM
- Microsoft GSM
- DSP Group Truespeech
- Installation of these codecs with Windows is optional. If they
are not installed, then one or more of the compression types in
DirectPlay Voice will not function. If the application attempts
to use a compression type that is not functional due to a missing
ACM codec, it will receive the DVERR_COMPRESSIONNOTSUPPORTED
return code.
- On Windows 2000, the user can install these codecs through the
Add/Remove Hardware wizard. The user should select
"Add/Troubleshoot a device". When a list of hardware is presented,
the user should select "Add a new device", then on the next
page select "No, I want to select the hardware from a list".
This will bring up a list of hardware. Select "Sound, video, and
game controllers". The "Audio Codecs" item is listed under
"(Standard system devices)".
- On Windows 9x, the user can install these codecs through the
Add New Hardware wizard. When prompted, the user should select
"No, I want to select the hardware from a list". In the list of
device types, codecs are listed under "Sound video and game
controllers". The codecs are listed under two manufacturers.
The ADPCM and GSM codecs are listed under "Microsoft Audio
Codecs" and the Truespeech codec is listed under "DSP Group".
=========================================
Broadcast Driver Architecture
=========================================
Known issues with Broadcast IP Data Reception under Windows 2000:
- After rebooting a Windows 2000 system with a BDA receiver card installed,
the BDA NDIS IP NIC is not immediately active. It becomes active only
when an application inserts the BDA IPSink filter into a graph and connects
its input pin. Once activated by connecting the IPSink filter's input pin,
it takes 20 to 30 seconds for the BDA NDIS IP NIC to be assigned an IP
address. The address assigned will be a Net 10 address. Once activated,
the BDA NDIS IP NIC will remain active until the system is rebooted.
- There may be some applications that use the BDA NDIS IP NIC as the default
LAN adapter. These apps will fail if the BDA NDIS IP NIC is active. To
de-activate the BDA NDIS IP NIC, reboot the system and do not run a TV graph
or application.
- When viewing a BDA Network provider property page with GraphEdit, you cannot
enter a -1 value. As a workaround, enter 0 and click the down arrow to set
the value to -1.
- Pin connections with mpe/slip with ipsink may fail if NO tuner is
installed post - DX8.1 installation. This behavior is exactly as seen
in Windows XP. This may be due to the TV tuner driver not being
properly installed. Automatic loading of BDA NDIS miniport is restricted
by design. The solution is to right click and install the bda.inf, followed by
a machine reboot.
=========================================
DirectShow
=========================================
What's New in DirectShow for DirectX 8.1:
There have been considerable improvements made to the DirectShow content
for the DirectX 8.1 SDK. Below is a brief summary of the updates.
Improvements to existing samples
-------------------------------------
There have been many enhancements and refinements to the existing
DirectX 8.1 samples for this release, including:
- New features and functionality
- Numerous bug fixes, including Windows XP support issues
- UNICODE and IA64 support
- ASF-enabled versions of the PlayWnd and MFC Jukebox samples
- Clean compilation with Warning Level 4
- Improved video window repainting for Jukebox-style applications
- Updated resource files and version information blocks
- Digital Video sample (Capture\DVApp) was rewritten to take
advantage of the ICaptureGraphBuilder2 interface to build its graphs.
- Sample XTL files have been updated in 8.1 to reflect a change in the
DES XML parser on Windows XP. XML attributes must now be specified
in *lowercase*. Mixed-case attributes will fail on Windows XP.
New DirectShow samples
-------------------------------------
- Audio Capture (Capture\AudioCap)
- DMO-enabled Player (Players\PlayDMO)
- DMO Enumerator (Misc\DMOEnum)
- Filter Mapper (Misc\Mapper)
- Grabber Sample Filter (Filters\Grabber) (modified from DX8 SampleGrabber)
- JukeboxASF (Players\JukeboxASF)
- PlayCap with Moniker (Capture\PlayCapMoniker)
- PlayWndASF (Players\PlayWndASF)
- Still Image Viewer (Players\StillView)
- Utility source code and routines in the DirectShow\Common directory
New DirectShow samples for Windows XP
-------------------------------------
Windows XP provides new functionality that is not present in downlevel
operating systems (Windows 9x, Windows 2000). The DirectShow_WinXP
directory provides samples to demonstrate using the new Video Mixing
Renderer and the new Microsoft Video Control (for use with the Windows
Driver Model and Broadcast Driver Architecture).
The new samples include:
- Video Control - C++, Visual Basic, and HTML samples of rendering
ATSC, DVB, and Analog television in a Windows application. The
new Video Control encapsulates much of the new functionality and
aids developers in creating television-enabled applications.
- Video Mixing Renderer (VMR)
- Cube
- Renderless
- Text Player
- VMR Mix
- VMR Player
- VMR Exclusive Mode (VMRXcl)
See the DirectShow_WinXP directory for more detailed information
about these new samples.
Updated Documentation
-------------------------------------
The DirectShow documentation has been significantly enhanced for
DirectX 8.1. It adds information for the new features available in
Windows XP and expands on previously presented material for the
Microsoft TV Technologies.
Modified SampleGrabber filter source code
-------------------------------------
There have been several requests for Microsoft to publish the source
code for the popular SampleGrabber filter. To that end, we now provide
a modified (simpler) version of the sample grabber filter, which uses
a new GUID and new CLSID to prevent collisions with the original
DirectX 8.0 filter. You can review and modify the source code for this
filter and use it in your own applications. See the Filters\Grabber
directory for more information.
Windows XP support in header files
-------------------------------------
DirectX 8.1 provides support for the following Windows platforms:
- Windows 98, Windows 98 Second Edition, Windows Millennium Edition
- Windows 2000
- Windows XP
Because Windows XP adds new functionality which is not present on
downlevel systems, many of the headers in the \DXSDK\include directory
have been revised to allow developers to use new Windows XP functionality
when desired, with full downlevel compatibility. This is achieved by
adding the following conditionally compiled sections to the relevant
header files:
#if (WINVER >= 0x501)
// Windows XP content
#else
// Downlevel content
#endif
To enable Windows XP features and to utilize the new portions of the
affected headers, set the Windows version to 0x501 (the Windows XP
version) in your Visual C++ project files. If the Windows version is
less than 0x501, the original DirectX 8.0 content will be used to allow
full backward compatibility with the DirectX 8.0 SDK. Similar
improvements were also made to the Interface Definition Files (IDLs)
in the \DXSDK\include\DShowIDL directory.
See the Samples\DirectShow and Samples\DirectShow_WinXP directories
for more information.
Runtime improvements
-------------------------------------
The DirectX 8.1 binaries and redist files have received various improvements
since the DirectX 8.0 release, including a large subset of the modifications
that were made for Windows XP.
Revised GraphEdit application
-------------------------------------
The GraphEdit utility benefits from several improvements, particularly
with respect to its user interface, menus, and toolbar. Additionally,
- Graph resizing code (View->xxx %) handles all sizes correctly, and
you can resize your graphs using the menu, keyboard +/- keys, and
Ctrl+MouseWheel.
- You can optionally disable the seek bar (and its timed updates), which
has been known to cause difficulty when debugging filters with GraphEdit.
- To preserve screen real estate, source and file writer filters displayed
in GraphEdit will now only display their corresponding filenames as the
filter name, instead of displaying the fully qualified path name.
For example, a file source for the file
"C:\DXSDK\samples\Multimedia\Media\lake.mpg" would display "lake.mpg".
DirectShow Samples:
-------------------------------------
- DirectX 8.1 contains several new DirectShow samples and many updates
to existing samples. New C++ samples include:
- Capture\AudioCap, Capture\PlayCapMoniker
- Misc\DMOEnum, Misc\Mapper
- Players\JukeboxASF, Players\PlayWndASF, Players\PlayDMO, Players\StillView
- In order to launch GraphEdit from the StillView or Jukebox applications,
GraphEdt.exe must be installed with the DirectX SDK or exist on your path
- There are several .XTL sample files in the \media folder. These files
demonstrate some of the functionality available in the DirectShow Editing
Services. You can render these files using the XTLTest C++ sample and
the XTLTestVB and DexterVB VisualBasic samples. All provided XTL files
refer to media that ships in the SDK's media directory. Rendering XTL
files is a great way to get an idea of what the new DirectShow Editing
Services APIs make possible. For a simple demo, drag a few of the SDK
media directory's sample .XTL files onto the XTLTestVB sample's client area.
- The DirectShow Visual Basic samples demonstrate more of the DES functionality
than the C++ samples. Be sure to run SlideShowVB and TrimmerVB if you are
interested in DES. You can also use the DexterVB ("Dexter Explorer")
application as an XTL development/test tool.
- The Texture3D sample is known to fail on some systems (referencing
invalid memory), for which you may see an error message. We recommend
updating your video card drivers to the most current revision, as that
usually resolves the problem.
- The DirectShow IDL files are currently located in the
\include\DShowIDL directory of the SDK for your convenience.
- You will be required to build the \BaseClasses libraries before any sample
that depends on them can be built or executed. Please review the Readme.Txt
file in the DirectShow samples root directory for more information on
building the samples.
- If you select the Debug runtime when installing the SDK, then the video renderer
will display frame counters on DirectShow video windows. These frame counters
will appear on all DirectShow applications, whether built as Debug or Release versions.
To disable the frame counters, switch to DirectX Release binaries by running "Install Retail"
from the DirectX SDK's "Runtime Installs" Start Menu item. Note that you must have
enabled the capability to switch between Debug and Release binaries when you installed
the SDK, by checking the "Copy DirectX Setup Files" option on the install options page.
This is not an issue on Windows XP, however, because the Video Mixing Renderer does
not display these frame counters by default.
DirectShow 8.0 release notes:
-------------------------------------
- Application development using the DirectShow base classes libraries requires
installation of the DirectShow samples. The source code for the base classes
is now included as a sample project, rather than as a separate Classes\Base
directory. You must compile these base classes to generate strmbase.lib and
strmbasd.lib, which are no longer installed as binary files. If you are
linking with strmbase.lib or strmbasd.lib with your own application, be sure
to build and link with the updated DirectX 8 libraries (instead of the older
libraries that are may be installed with Visual C++ or the Microsoft Platform SDK).
- The samples included with the SDK are configured to compile and link with
the updated libraries, which are generated by building the BaseClasses project.
Further build instructions are provided in:
<DXSDKInstallFolder>\samples\Multimedia\DirectShow\readme.txt.
- The <streams.h> header file, along with many other DirectShow-specific header
files, is now located in the DirectShow samples BaseClasses directory,
which includes the BaseClasses source code and header files. You must add
the BaseClasses directory to the beginning of your project's include path
settings in order for Visual C++ to find all of the updated header files.
- To use the Teletext Decoder Fonts that are shipped with DX8, make sure that
the WST_* fonts are installed by examining the \windows\fonts directory.
- There is a known problem with the MP3 decoder filter when used with
Audio Effects DMOs. If you add an audio effect DMO (like WavesReverb, Echo,
or Flange) to an existing MP3 filter graph, the audio could be played back
at double speed. The problem would occur whenever the MP3 decoder is connected
to a downstream audio effect dmo (via the dmo filter wrapper) that offers a
default audio input type which doesn't match the native format of the
uncompressed MP3 stream. For example, if you render a 22kHz MP3 file and
add a DMO Audio effect, the MP3 filter could misinterpret the input type as
being 44kHz when it is actually 22kHz. This would not be a problem for 44kHz
MP3 files. This issue will be fixed in a future release.
- If you have the SDK on CD-ROM, the Extras\DirectShow\Media directory
contains additional media that can be used with DirectShow and the DirectShow
Editing Services (DES) interfaces. We have included DV-encoded AVI videos,
larger MPEG videos, and higher-quality JPEG images. Since the DV files are
very large, you should copy them to your hard disk before playing them to
ensure the best performance.
- Remote graph spying with GraphEdit works only on Windows 2000.
- The DirectShow Editing Services (DES) Color Generator source filter may
generate blue or green components incorrectly if they have small values.
For best results, use solid primary colors or set Blue and Green
components to values of either 0xFF or 0x00.
- For this release, the WavesReverb DMO will only accept 16-bit audio input.
If you attempt to connect the WavesReverb DMO to an 8-bit audio source,
the connection will fail.
- The sample XTL files have been updated in 8.1 to reflect a change in the
DES XML parser on Windows XP. XML attributes must now be specified
in *lowercase*. Mixed-case attributes will fail on Windows XP.
- GraphEdit has been revised for 8.1 to improve its user interface and to
correct problems with zoom levels.
- The IRenderEngine::SetRenderRange method does not work if there is an
effect on a source clip, where the source clip does not start at time
zero.
__________________________________________________________________
COMPILER SUPPORT
- All DirectX 8.1 SDK samples are developed and compiled with Visual Studio 6.0.
The DirectX 8.1 SDK samples are optimized to compile with Visual Studio 6.0,
and we have provided Visual Studio 6.0 DSP files for your convenience.
- All DirectX 8.1 SDK samples have been compiled with Visual Studio 7.0, and
that development environment is supported, even though no explicit project
files are provided.
- The DirectX SDK no longer supports using Visual Studio 5.0. While this may
work, any issues with using Visual Studio 5.0 and the DirectX 8.1 SDK will
not be addressed in this release or future releases. The DirectX 8.0a SDK supports
VC 5.0 ( with the SP3 linker fix ) and Windows 95, so this may be an option for some
developers.
__________________________________________________________________
SPECIAL THANKS
Marlin Studios
Textures used in the Billboard sample, tree02S.tga, tree01S.tga & tree35S.tga,
are provided courtesy of Marlin Studios (http://www.marlinstudios.com).
They are provided for use with this sample only and cannot be distributed
with any application without prior written consent.
Viewpoint Digital, Inc.
The model used by the Visual Basic AutoParts sample, engine1.x, is provided
courtesy of Viewpoint Digital, Inc. (http://www.viewpoint.com). It is provided
for use with this sample only and cannot be distributed with any application
without prior written consent. V6 Engine Model copyright 1999 Viewpoint
Digital, Inc..
3DCAFE and Platinum Pictures
The model in the Dolphin samples, Dolphin.x, is derived from the model files
(dolphins.zip) provided courtesy of 3DCAFE and Platinum Pictures
(http://www.3dcafe.com/). It is provided for use with this sample only.
For further terms of use please visit the 3DCAFE site or contact 3DCAFE.
__________________________________________________________________
ROLAND SOUNDCANVAS SOUND SET FOR GENERAL MIDI AND GS FORMAT
The Roland SoundCanvas Sound Set includes the necessary sounds to make a
complete General MIDI compatible sound set. It also includes additional
sounds necessary to make a complete GS Format compatible sound set.
WHAT IS THE GS FORMAT?
The GS Format is a standardized set of specifications for sound sources
that defines the manner in which multitimbral sound generating devices
will respond to MIDI messages. The GS Format also complies with General
MIDI System Level 1.
The GS Format also defines a number of other details over and above the
features of General MIDI. These include unique specifications for sound
and functions available for tone editing, effects, and other specifications
concerning the manner in which sound sources will respond to MIDI messages.
Any device that is equipped with GS Format sound sources can faithfully
reproduce both General MIDI sound recordings and GS Format MIDI sound
recordings.
HOW TO CONTACT ROLAND:
For more information, please contact:
Roland Corporation U.S.
7200 Dominion Circle
Los Angeles, CA 90040-3696
Phone: 323-685-5141
Fax: 323-722-7408
COPYRIGHT NOTICE AND LICENSE LIMITATIONS
Roland GS Sound Set/Microsoft (P) 1996 Roland Corporation U.S.
The Roland GS Sound Set/Microsoft, the "Sample Set", incorporates the
Roland SoundCanvas Sound Set. Roland Corporation U.S. owns the Sample Set
and all copyrights pertaining thereto and has licensed the Sample Set for
use solely on Microsoft operating system products and Microsoft Application
Products.
Roland reserves all rights to the Sample Set not expressly granted by Roland
Corporation U.S. or by Microsoft under the terms of Microsoft's End User
License Agreement.
The Sample Set may only be redistributed with your software application as a
part of a Microsoft operating system product installation and under the terms
of Microsoft's End User License Agreement. The Sample Set may not be
separated from the Microsoft operating system product; the Sample Set may
only be installed by the Microsoft installation procedure for the associated
Microsoft operating system product or for an associated software development
kit. All other uses of the Sample Set require a separate written license
from Roland Corporation U.S.
The Sample Set may not be used, copied or redistributed in hardware ROM or
similar technology of any device without prior express written permission
from an authorized representative of Roland Corporation U.S. The Sample
Set may not be redistributed with any Musical Instrument . A "Musical
Instrument" is any device that is capable of generating musical sounds
without being directly connected to a computer with a licensed Microsoft
operating system product. You may not modify the Sample Set under any
circumstances.