Microsoft® DirectX® 9.0 SDK Update (February 2005)
Final Release
Last updated January 28,
2005
This is Microsoft's DirectX
9.0 Software Development Kit (SDK) Update for February 2005 Final release.
Primary areas of concentration for this SDK Update were for PIX,
Preview pipeline, and updates for the Direct3D Extension Library (D3DX),
Graphics Samples, Sample Frame work, tools and documentation. This
includes the final version of the DirectX Runtime release called
"DirectX 9.0c" with updated Managed DirectX binaries and D3dx binary from this
SDK release.
After installing, those new
to DirectX should start with the DirectX 9.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.
What’s
New
What’s
Coming
Known
Issues
Installation
Documentation
DirectX
for Managed Code
Compiler
Support
CD
Layout
Roland
SoundCanvans Sound Set for General MIDI and GS
Below are highlights of what
is new in this DirectX 9.0 SDK Update release. For a
complete list of updates, please refer to the SDK Documentation "What's
News" sections.
SDK:
-
Windows 2000 is no
longer a supported platform for the SDK.
-
All of the DirectShow
component (Header, Libs, Utilities, Tools, and Samples) were moved to
the extras folder
New
Samples and technical Articles:
-
New "Top Issues
for Windows Titles" article
-
New PRTCmdLine
sample
-
New Managed
HDRFormat sample
-
Updated
"Install-on-Demand for Games" and "Gaming with Least-Privileged User
Accounts" with information about patching
Tool
Updates
Enhancements to
PIX have been made:
D3DX
Precomputed
Radiance Transfer
The
precomputed radiance transfer (PRT)
system has been enhanced:
·
New fast
raytracing methods have been added for direct computation of
ray/mesh intersections against a simulation scene.
·
GPU-accelerated
direct-lighting computation now supports normal maps.
Math Library
·
D3DX math
functions on X64 have been heavily optimized for 64-bit
processors in this release.
HLSL Compiler
·
A series of
improvements and bug fixes have been made to the HLSL compiler
Effects Framework
·
New functions
have been added to allow a developer to specify parameters to be
ignored by the effects system and managed directly by the
application.
D3DX as a Dynamic-Link Library
·
Starting with
this SDK release, D3DX is being released as a dynamic-link
library (DLL). Updates to D3DX in the future will continue to
ship as uniquely-named DLLs that exist side-by-side on the
system. This allows for continued improvements to the library
without imposing regression risk. D3DX9.lib is still provided as
the import library for the DLL which your application can
statically link against. See documentation for details.
·
The D3DX DLL
included in the SDK is automatically installed as part of
Installing DirectX with DirectSetup. If your application does
not use D3DX, you can remove D3DX from the redistributable (see
Directx redist.txt for details).
·
The
statically-linked debug library (D3DX9dt.lib) has been removed;
use D3DX9d.lib instead.
Other
·
D3DX for
DirectX8 was removed from the SDK in December. This was not
mentioned in the release notes for the December SDK.
back
to top
Below are some of the
updates that will be available in future DirectX SDK releases. All
information is subject to change and will be updated as
appropriate.
- Removal of
DirectShow from the DirectX SDK. The DirectShow SDK components are
being moved into the Platform SDK
- Dependency
on the Microsoft Platform SDK will become more explicit
- Addition
of deep scene analysis in PIX which will allow users to capture
information about one or more frames and then do in-depth analysis of
those frames
- Better
application compatibility and enhanced scripting support in
PIX
- Additional
whitepapers on texture management and IPv6 networking
- Preview
Pipeline support for 3DS-Max, Photoshop and XSI
- Support for
Visual Studio 2005 (aka Whidbey) for samples,
tools and shader debugger
- Addition of
XACT for Windows, allowing composers and sound designers to create
dynamic sound effects and take advantage of sophisticated, real-time
effects processing.
back
to top
Visual Studio
2005 Support
The
samples do not compile immediately with Visual Studio 2005 Beta 1
Refresh. The workaround is to add the library “libcp.lib” to the ignore library project setting
(Project Settings / Linker / Input / Ignore Specific Library). An
error is generated by the manifest generator which will
can be safely ignored as it will not affect the execution of the
application. These issues will be resolved when Visual Studio 2005
is supported.
64-bit Platform
Support:
Many of the DirectShow
samples include atlbase.h, which in turn
includes shlwapi.h. In order for these samples
to build, the Internet Development SDK (version 6.0 or newer) SDK
component of the Platform SDK must be installed. This can be done by
selecting that component after successful Core SDK installation, or reinvoking SetupA64.Exe and selecting the component
for installation. Note that invoking "Platform SDK Update Site" from the
start menu with the beta 1 SDK will attempt to download an older version
of the Internet Development SDK which is not suitable for X64 builds.
The
DirectShow Filters\PushSource sample will fail
to register when built for debug X64. This is a known issue and should be
ignored.
The
x64 DirectShow DVDSample and PlayDVD samples require a 64-bit native DVD decoder to
function properly. No such decoders were available at the time of this SDK
release. It is likely that 3rd parties will provide decoders, so the
sample build environments and pre-built binaries have been left intact in
the SDK.
Tools:
Maya
- The preview pipeline will
only work on Windows XP
-
corrected in future releases. Alternatively,
manually entering your color in the 4 associated textboxes will result
in the expected behavior.
- Maya may be unstable if
you unload the DirectX plugin after the
plug-in has been started and viewed objects. If you do not want the
plug-in loaded into Maya, you should choose the option to no auto-load
the plug-in into Maya and restart Maya.
- When exporting an x file
from the 'DirectX>Export Scene' menu option, make sure that you
include the .x extension when saving as it is not being added by
default.
-
Under some cases
with highly complex IK rigs, using the "Gather Animation" menu
feature may cause an access violation in Maya, causing it to terminate.
Paintshop Pro
- When this plug-in is used
with Paintshop Pro 8, the loading of images
with alpha channel causes Paintshop Pro to
multiply the alpha channel by the RGB channels and discards the alpha
channel. This causes images with the format XRGB to be loaded
empty.
- The D3DXTextureFormat
plug-ins returns an error when saving a file as one of D3DX texture
formats.
PIX
·
Pix will
fail to profile 64-bit applications. This is issue will be fixed in a
future release.
D3DX:
- D3D_DEBUG_INFO extensions
define a CreationCallStack field on Direct3D
resources. To enable creation call stacks, create the following registry
value:
\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Direct3D\D3D9Debugging\EnableCreationStack
= 1.
Enabling this feature can cause a large performance hit in many
applications, and should only be used when the functionality is
specifically needed for debugging.
- The D3DX library included
in this release is dependant on the Direct3D runtimes that shipped with
this SDK. If you link against this D3DX you must redistribute the
runtime from this SDK
- When compiling HLSL code
to the 3.0 target, significant code reordering is done to move gradient
computations outside of flow control.
- D3DXSaveMeshHierarchyToFiles() does not currently save
compressed animation sets.
- ID3DXSkinInfo::ConvertToBlendedMesh/ConvertToIndexedBlendedMesh()
does not currently run on hardware that does not support fixed-function
vertex blending.
Documentation
-
The known issues with the
DirectX 9.0 Documentation are described in a separate file. You
will find these issues listed in the DirectX9_Doc_Readme.txt file found
in the <DXSDK Installed Folder>\Documentation\DirectX9
folder.
- Installing DirectX
documentation from both the DirectX SDK and MSDN® Library can result in
duplicate topics in Visual Studio. If this occurs, you should take the
following steps to uninstall the DirectX documentation from the SDK.
- In Control Panel, click
the Add/Remove Programs icon.
- Highlight Microsoft
DirectX 9.0 Documentation and then click Remove.
DirectShow
Retail symbols for
DirectShow binaries weren't updated for this release. This affects
matching of symbols for 9.0b and 9.0c updates to:
NT:
- quartz.dll
- qdv.dll
- qdvd.dll
- devenum.dll
- kstvtune.ax
- ksxbar.ax
- stream.sys
Win9x:
This will be corrected in
the next DirectX release.
- The SDK requires Microsoft
Internet Explorer Version 6 or higher.
- Installation of the
Microsoft Platform SDK is recommended and may be required for some
samples.
- You must be logged on as
an administrator before installing the DirectX 9.0 SDK and
runtime.
- We recommend you remove
previous versions of the DirectX SDK prior to installing DirectX 9.0 SDK
Release (see UNINSTALL).
- In addition, you should
uninstall any DirectX SDK installations that may be part of a Microsoft
Platform SDK installation prior to installing the DirectX 9.0 SDK.
- SDK Installation to a
network share is not supported. Specifically some components (ex.
documentation will not install, managed samples will not run).
- The Reference Rasterizer is not installed on any versions of
Windows Server 2003 product family.
- Several Virus Protection
software applications interfere with SDK installation and may require
you to temporarily disable the Virus Protection software until SDK
installation is completed.
- "A cabinet file is
necessary for installation and cannot be trusted." ERROR during
installation. This problem happens in most cases due to system
corruption or users disabling their cryptography services. Please try
the following steps to see if it resolves the issue.
- Make sure your
cryptography services are enabled. To do this, go to my computer |
manage | services and applications | services. Then go to cryptography
services properties and make sure the service is started and startup
type is set to automatic.
- If you are running
Windows on a FAT32 drive, run scandisk.
- Try the resolution steps
in http://support.microsoft.com/default.aspx?scid=kb;en-us;813442
- Try the resolution steps
in http://support.microsoft.com/default.aspx?scid=kb;EN-US;822798
- Remove temporary files
in %temp% and (if installing end-user runtime)
%windir%\system32\directx\websetup Error
Installation notes on 64-bit
Platforms
- When installing on a 64
platform, both the 32 and the 64 bit version of debug files will be
installed.
- The 32-bit version of the
DirectX control panel which controls debug settings can be
opened by choosing "View x86 Control Panel Icons" from the
Control Panel and starting the DirectX icon or by running the
command %windir%\syswow64\control.exe
%windir%\syswow64\directx.cpl. The 64 bit version of the DirectX
control panel will show up in the Windows Control Panel after installing
the SDK.
· There is
no support for the IA64 bit platforms.
Uninstall:
To
uninstall, use "Add/Remove Programs" from the Control Panel to uninstall the SDK Update
installations.
back
to top
Requirements:
- The DirectX managed code
application programming interface (API) documentation is automatically
installed with DirectX 9.0 when Visual Studio .Net is
installed.
Open Visual Studio .NET and then, from the Help menu at the top, choose
Contents. The documentation node in the Table of Contents is called
DirectX 9.0 (Managed). The documentation can also be viewed on the Web
at http://www.msdn.microsoft.com. See the help topic, "Tips and Tricks
Using Managed Code," for the basics of how to install and use DirectX
managed code and documentation.
back
to top
Requirements:
- Developing managed
applications with this DirectX SDK release requires Visual Studio.NET
2003 and .NET Runtime 1.1
- Distributing the DirectX
for Managed Code Update. There are several ways to
redistribute DirectX for Managed Code:
-
Install both
DirectX9.0c and DirectX for Managed Code:
Install the DirectX 9.0c Runtime using the command DXSETUP.EXE /InstallManagedDirectX.
This will install the DirectX 9.0c runtime along with DirectX
for Managed Code with minimal user interaction
-
Install
just DirectX for managed Code:
- Launch Feb2005_MDX_x86.MSI
directly, this will display a License Agreement and install the
package with full user interaction, including a Setup completed
dialog.
- Launch Feb2005_MDX_x86.MSI
with a command line for Windows Installer. i.e. msiexec.exe /i Feb2005_mdx_x86.msi.
Additional parameters for msiexec.exe are documented in the Windows
Installer SDK, available at the Microsoft MSDN website, in the
Microsoft Platform SDK. These other parameters allow you to control
the level of user interaction, and what else is displayed.
o
Use
the MsiInstallProduct()
API also documented in the Windows Installer SDK. The MsiInstallProduct function displays the user
interface with the current settings and log mode. You can change user
interface settings with the MsiSetInternalUI
and MsiSetExternalUI functions. You can set
the log mode with the MsiEnableLog
function.
If the .NET Framework v.1.1
and DirectX 9.0 are not previously installed, the Feb2005_MDX_x86.MSI will
display an appropriate message and DirectX for Managed Code will not be
installed.
To remove the installation,
you may launch the installer again, or run the command msiexec.exe /x
Feb2005_mdx_x86.msi.
back
to top
Direct3D®,
DirectSound®, DirectMusic®, DirectInput®,
DirectPlay®,DirectShow®, Broadcast Driver Architecture
This release of
above DirectX components have identical features to that of DirectX 9.0c and there is no
plan to add additional features for the DirectX 9.0 SDK Update. See
MSDN for previous SDK
release.
- No DirectPlay Debug
DLLs ships with this SDK release, so when you run DirectSetup only the DirectPlay Retail installation
option is available.
- The X64
DirectShow
DVDSample and PlayDVD
samples require a 64-bit native DVD decoder to function properly. No such
decoders were available at the time of this SDK release. It is likely
that 3rd parties will provide decoders, so the sample build environments
and pre-built binaries have been left intact in the SDK.
back
to top
Developing C++ applications
with this release requires Visual Studio .NET 2002 or later. Visual Studio
version 6 is no longer supported. Developing managed applications requires
Visual Studio .NET 2003 and .NET Runtime 1.1. Developing 64-bit
applications requires the Microsoft Platform SDK. All DirectX SDK
supported 64-bit samples have a corresponding sample_makefile.x64. These
makefiles are compatible with AMD64 and
Intel64.
back
to top
CD Layout:
The
following is a brief description of the directories found following
installation of the DirectX 9.0 SDK Update. Depending on options
specified during installation, some of these directories may not be
installed on your hard drive. The description below assumes a
complete SDK install.
\Developer Runtime
The Developer Runtime
folder contains OS-specific debug versions of the DirectX runtime that
have been customized to help DirectX developers debug issues related to
their applications. It also contains Retail and Debug versions of the
DirectX® 9.0 for Managed Code runtime.
The debug files are
installed during the SDK portion of the setup program and can be loaded
on demand, based on settings in the DirectX control panel. The
files in this directory should be adequate for debugging most DirectX
applications.
Upon installation of these
versions of the DirectX runtime, DXDiag.exe will report that the debug
versions of the files have been installed and will give the following
notice:
"Several files
(d3dx9d.dll, d3d9d.dll) are Debug versions, which will run slower than
the Retail version."
Note that this is only
applicable when the Debug switch in the DirectX control panel is
applied. Setting all the switches to Retail in the
DirectX control panel will configure DirectX to perform just as the
normal version of the End-User Runtime.
List of DirectX Switchable Debug DLL's:
d3d8d.dll
d3d9d.dll
d3dx9d.dll
dinput8d.dll
dmbandd.dll
dmcompod.dll
dmimed.dll
dmloaded.dll
dmscripd.dll
dmstyled.dll
dmsynthd.dll
dmusicd.dll
dswaved.dll
Additional Files Installed
with the Developer Runtime:
d3dref.dll
d3dref8.dll
d3dref9.dll
directx.cpl
\Documentation
\DirectX9
Contains
reference documentation for the DirectX 9.0
APIs.
The CHM 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.
Documentation for DirectX for Managed Code is installed automatically
when Visual Studio .NET 2002 is installed.
\License
Agreements
Text
versions of the DirectX SDK, End User License Agreements and the
Redistributable License Agreement.
\Extras
(Available as
separate downloads)
\DirectShow
Contains the
DirectShow samples (C++
& VB), tools, DVDBoilerplate, and additional media that can
be used with DirectShow and the DirectShow Editing Services (DES)
interfaces
\DirectSound
Contains the debug version
of the DirectSound DLLS.
\Symbols
The retail symbols
directory contains symbol files for the version of DirectX 9.0 contained
in the Redist directory. The Debug symbols
directory contains symbol files for the switch-able debug files that can
be activated using the DirectX Control Panel.
To use the symbol files,
add the appropriate directories to your symbol path, or copy the files
to your symbols directory. Depending on the operating system you want to
debug you may need to include different directories first. There is a
general directory and possibly an addition directory with symbol files
specific for each operating system.
Non-Platform specific
symbols are located in <build type>\<file
type>. Ex: Retail\dll -> Symbols
for retail DLLs Debug\exe -> Symbols for debug EXEs
Platform specific symbols are located in
<build type>\<platform>\<file type>. Ex: Retail\Win2k\dll -> Symbols for Win2k only
retail DLLs Debug\win9x\exe -> Symbols for Win9x only debug EXEs
If you cannot find platform specific
symbols for a component, use the non-platform specific
symbols.
Your symbol path should
include the specific directory if one exists first, then the general
directory. For example to use the files for Windows XP you would have a
symbol path that looked something like this:
SymPath=c:\symbols\retail\WinXP
Only;c: \symbols\retail\Win2K-XP;
For Windows ME you might
use a symbol path like this:
SymPath=c:\symbols\retail\Win9x
There is not additional
directory required for Windows ME. All the supported symbol files exist
in the \Symbols\Retail\Win9x directory.
\Include
Contains
DirectX 9.0 include files for DirectX core components.
\Lib
Contains
DirectX 9.0 library files for DirectX core
components.
\Lib\x64
This directory contains
the 64 bit version of the library files which supports the x64 bit
platforms.
\Lib\x86
This directory contains
the 32 bit version of the library files which supports the x86 bit
platforms.
\Redist
Redistributable
versions of the DirectX 9.0c Runtime with update Managed DirectX and D3dx binaries
from this SDK release.
\Samples
Contains
all sample code and sample binaries. Most samples can be accessed directly by the SDK Sample Browser
located on the Start menu when installed via the downloaded InstallShield setup.
\Utilities
High
level DirectX applications, tools, plug-ins and source
code.
Most can be accessed from the SDK sample browser.
\Bin\Extensions for Visual
Studio .NET
Microsoft®
Visual Studio® supports debugging assembly level and high-level language
vertex and pixel shaders.
\Bin\x64
This directory contains
the 64 bit version of the tools which supports the x64 bit
platforms.
\Bin\x86
This directory contains
the 32 bit version of the tools which supports the x86 bit
platforms.
\Bin\Plug-ins
This directory contains
Maya and photoshop plug-ins.
\Source
Contains the source code
for many of the utilities.
back
to top
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:
Roland
Corporation U.S.
7200 Dominion
Circle
Los Angeles,
CA 90040-3696
Phone:
(323) 890-3700
Fax:
(323) 890-3701
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.
back
to top
|