Главная -> Статьи -> DirectX Software Development Kit 9-10 (SDK)

DirectX Software Development Kit 9-10 (SDK)

DirectX - набор системных файлов, необходимых практически для любого современного мультимедийного приложения или новой игры. Пакет включает все предыдущие версии и дополнения библиотек, а также обновленные компоненты для Windows x86 и x64. Данная версия работает под Windows Me, 2000, XP, Server 2003, Server 2008 и Vista.
This section contains the following:
What's New in the November 2008 DirectX SDK
Known Issues with the November 2008 SDK
What's New in the November 2008 DirectX SDK
This version of the DirectX SDK contains the following new features, tools, and documentation.
PIX for Windows
PIX for Windows supports basic stream capture and single frame capture for Direct3D 11, however the new Direct3D 11 hardware features like tessellation, compute shader, dynamic shader linkage, and new resource formats, are not supported. In addition, advanced features like shader debugging and mesh viewing are not supported. These will be added in a future release.
XACT3 Now Supports the Same xWMA Bitrates Supported by XAudio2
XACT3 now supports the same xWMA bit rates that are supported by XAudio2. The exposed lower bit rates allow titles to take advantage of more aggressive compression.
Updated Audio Sample
The XAudio2 Sound3D sample has been updated to better demonstrate the capabilities of XAudio2 and X3DAudio as well as highlighting best practices.
Direct3D 11 Technical Preview
Included in the November 2008 DirectX SDK is a technical preview of Direct3D 11 and associated components and tools. Direct3D 11 is an update to Direct3D 10.1 enabling new hardware features as well as improving the breadth of configurations supported by Direct3D. As such, Direct3D 11 enables developers to create applications and games that work on Direct3D 10, Direct3D 10.1, and Direct3D 11 hardware when it becomes available. With the addition of WARP and Direct3D 10 Level 9, Direct3D 10.1 and Direct3D 11 have the ability to target fast software rasterization and Direct3D 9 hardware.
This version of the Direct3D 11 technical preview includes support for the following:
Compute Shaders
Multithreaded Rendering
Dynamic Shader Linkage
Windows Advanced Rasterizer (WARP)
Direct3D 10 and Direct3D 11 on Direct3D 9 Hardware (D3D10 Level 9)
Runtime Binaries
Completely Updated HLSL and Direct3D Compiler
D3D11 Reference Rasterizer
D3D11 SDK Layers
In addition, there are four new samples that highlight tessellation, computer shaders, mulithreaded rendering, and dynamic shader linkage.
Direct3D 11 provides additional pipeline stages to support real-time tessellation of high order primitives. With extensively programmable capabilities, this feature allows many different methods for evaluating high-order surfaces, including subdivision surfaces using approximation techniques, Bezier patches, adaptive tessellation, and displacement mapping. This feature will only be available on Direct3D 11-class hardware, so in order to evaluate this feature you will need to use the Reference Rasterizer. For a demo of tessellation in action, check out the SubD11 sample available through the Sample Browser.
Compute Shader
The Compute Shader is an additional stage independent of the Direct3D 11 pipeline that enables general purpose computing on the GPU. In addition to all shader features provided by the unified shader core, the Compute Shader also supports scattered reads and writes to resources through Unordered Access Views, a shared memory pool within a group of executing threads, synchronization primitives, atomic operators, and many other advanced data-parallel features. A variant of the Direct3D 11 Compute Shader has been enabled in this release that can operate on Direct3D 10-class hardware. It is therefore possible to developing Compute Shaders on actual hardware, but an updated driver is required. The full functionality of the Direct3D 11 Compute Shader will is intended for support of Direct3D 11-class hardware, so in order to evaluate the full functionality you will need to use the Reference Rasterizer until such hardware is available. For a demo of the Compute Shader in action, check out the HDRToneMappingCS11 sample available through the Sample Browser.
Multithreaded Rendering
The key API difference from Direct3D 10 in Direct3D 11 is the addition of deferred contexts, which enables scalable execution of Direct3D commands distributed over multiple cores. A Deferred Context captures and assembles actions like state changes and draw submissions that can be executed on the actual device at a later time. By utilizing Deferred Contexts on multiple threads, an application can distribute the CPU overhead needed in the Direct3D11 runtime and the driver to multiple cores, enabling better use of an end-user's machine configuration. This feature is available for use on current Direct3D 10 hardware as well as the reference rasterizer. For a demonstration of API usage, check out the MultithreadedRendering11 sample available through the Sample Browser.
Dynamic Shader Linkage
In order to address the combinatorial explosion problem seen in specializing shaders for performance, Direct3D 11 introduces a limited form of runtime shader linkage that allows for near-optimal shader specialization during execution of an application. This is achieved by specifying the implementations of specific functions in shader code when the shader is assigned to the pipeline, allowing the driver to inline native shader instructions quickly rather than forcing the driver to recompile the intermediate language into native instructions with the new configuration. Shader development is exposed through the introduction of classes and interfaces to HLSL. For a demonstration, check out the Dynamic Shader Linkage 11 sample available through the Sample Browser.
Windows Advanced Rasterizer Platform (WARP)
Available in this SDK through Direct3D 11 and eventually also through Direct3D 10.1, WARP is a fast, multi-core scaling rasterizer that is fully Direct3D 10.1 compliant. Utilizing this technology is as simple as passing the D3D10_DRIVER_TYPE_WARP flag in your device creation.
Direct3D 10 and Direct3D 11 on Direct3D 9 Hardware (D3D10 Level 9)
Available in this SDK through Direct3D 11 and eventually also through Direct3D 10.1, the Direct3D API can target most Direct3D 9 hardware as well as Direct3D 10, Direct3D 10.1 and Direct3D 11 hardware. This is achieved by providing the Feature Level mechanism, which groups hardware into six categories depending on functionality: 9_1, 9_2, 9_3, 10_0, 10_1 and 11_0. A card only meets a feature level if it is fully compliant to that level, and each level is a strict super-set of those below it. Functionality is minimally emulated to assure no unexpected performance cliffs are encountered. Thus, features like Geometry Shaders are not available for Direct3D 9 level targets.
Runtime Binaries
All runtime binaries provided in the Direct3D 11 tech preview that will be available on Windows 7 and Windows Vista SP1 are installed with the SDK and are labeled as "Beta" components (i.e. D3D11_beta.DLL). All beta-labeled components are time-bombed. To create projects to evaluate these new components, you must link to their equivalent beta-labeled import libraries (i.e. D3D11_beta.lib). If you have a PDC copy of Windows 7, the headers, libs, and pdbs provided in the Windows SDK with the build are appropriate for development using the Direct3D 11 components providing in Windows 7. Please reserve the use of the headers, libs, and pdbs in this SDK to the beta components provided herein.
D3DX11 current only supports texture loading functions for Direct3D 11 resources. In the future, this component will provide many of the technologies available in D3DX10 like a mesh container format as well as the Effects 11 system. An important difference between D3DX11 and D3DX10 is that D3DX11 does not contain shader compilation functionality. Instead this is provided directly through the D3D Compiler component, described below.
HLSL and Direct3D Compiler
The HLSL compiler has several new features for supporting the new technologies available in Direct3D 11. This includes object oriented programming through interfaces and classes, a direct indexing syntax for resource loads, and the 'precise' keyword for ensuring that all operations performed with a specific variable adhere to the strict floating point rules. Almost all new linguistic features have valid functionality on existing shader targets. In addition to supporting all Direct3D 9, Direct3D 10, Direct3D 10.1, and Direct3D 11 shaders the HLSL compiler also supports the special targets needed to write shaders for Direct3D 10 Level 9 targets. The D3D Compiler is now directly accessible outside of D3DX10 and D3DX11 through D3DCompiler.H and D3DCompiler.lib. With these new files, an application is not required to link to D3DX in order to perform runtime compilation, and an application is not required to include the compiler if only D3DX functionality is needed.
D3D11 Reference Rasterizer
The Reference Rasterizer provides a gold-standard rasterization implementation for evaluation of Direct3D 11 features not yet available in hardware. The Reference Rasterizer is also provided as a way to verify a specific hardware implementation's accuracy to the rasterization standard. The reference rasterizer is designed for correctness, not performance. To create a reference device, simply pass the D3D_DRIVER_TYPE_REFERENCE flag at device creation.
D3D11 SDK Layers
Direct3D11 SDK Layers provide a mechanism for tracking the operation of the Direct3D 11 runtime during development. Currently this is used for providing useful debug information, which not only includes errors on improper use but also warnings that recommend best practice use of the runtime and often provides in-depth, useful information for debugging. It is highly recommended that the debug output from D3D11 SDK Layers is turned on at all times during development and an application generates no debug output during execution before it is released or used with PIX for Windows for profiling. Enabling the debug layer is as simple as passing the D3D11_CREATE_DEVICE_DEBUG flag at device creation time. Developers are strongly encouraged to use layers in debug builds. Layers are not recommended for use in profile or release builds.
New Samples Demonstrating D3D11
This release has four new samples that demonstrate D3D11.
The Dynamic Shader Linkage 11 sample demonstrates use of Shader Model 5 shader interfaces and Direct3D 11 support for linking shader interface methods at runtime.
The HDRToneMappingCS11 sample demonstrates how to setup and run the Compute Shader(CS for short later on), which is one of the most exciting new features of Direct3D 11. Although the sample only utilizes the CS to implement HDR tone-mapping, the concept should extend easily to other post-processing algorithms as well as more general calculations.
The MultithreadedRendering11 sample demonstrates how to split rendering among multiple threads, with very low overhead.
The new SubD11 sample is very similar to the SubD10 sample in the DirectX SDK, except that it has been enhanced to take advantage of three new Direct3D 11 pipeline stages: the hull shader, the tessellator, and the domain shader.
Known Issues with the November 2008 SDK
Building Samples Using the Visual Studio 2005 Project Files Results In Harmless Warning
Developers who build the samples may see the following harmless warning:
manifest authoring warning 81010002: Unrecognized Element "requestedPrivileges" in namespace "urn:schemas-microsoft-com:asm.v2".
This is a known issue with the manifest tool (mt.exe) that ships in Visual Studio 2005 SP1. In order to remove this warning, developers should update their versions of mt.exe to the version that ships in the Windows SDK. Developers should update the three instances of mt.exe that ship in Visual Studio 2005 SP1:
Reflect and DisassembleXXXXX Moved from D3DX10_40.dll to D3DCompiler_40.dll
In the November 2008 DirectX SDK three functions were moved from D3DX10_40.dll to D3DCompiler_40.dll:
D3DX10ReflectShader (renamed D3DReflect)
D3DX10DisassembleShader (renamed D3DDisassemble)
D3DX10DisassembleEffect (renamed D3DDisassemble10Effect)
As part of this change, these three functions are now defined in d3dcompiler.h.
These three new functions use D3D11 interfaces that are fully compatible with D3D10 and D3D10.1 runtimes without taking dependencies that are currently in pre-release state.
Don't Mix Beta DLLs With Their Correspondingly Named Non-Beta DLLs
The Direct3D 11 Technical Preview in the November 2008 DirectX SDK provides a dxgi_beta.dll that is different from the dxgi.dll included in Windows Vista. Developers should not use interfaces from one of these DLLs with the other as it may cause issues that are difficult to track down. The recommendation is that if you are using a beta DLL, don't link to the correspondingly named non-beta DLL.
ID3DXSPMesh Interface Is Deprecated
The ID3DXSPMesh interface is deprecated and will be removed in a future release of the DirectX SDK. Developers should investigate using Direct3D 11 tessellation as an altertnative to the ID3DXSPMesh interface.
D3DXGatherFragments Is Deprecated
The D3DXGatherFragments function is deprecated and will be removed in a future release of the DirectX SDK. Developers should investigate using Direct3D 11 dynamic shaders.
IXACT3Engine::PrepareWave Doesn't Support xWMA
In the March 2008 and later SDKs, the IXACT3Engine::PrepareWave doesn't support xWMA. Titles wishing to use xWMA in XACT can prepare those waves using one of the following methods:
xWMA Compression Doesn't Support AIFF Sources
In the March 2008 and later SDKs, content creators must use WAV files if they want to use xWMA compression. The AIFF file format can be used for ADPCM and XMA compression.
XAudio2: Queries about Volume, Pitch, Frequency Ratio, and Filter Parameters May Not Return Currently Set Values
In the August 2007 and later SDKs, changing state (such as the volume, pitch, frequency ratio, filter parameters, and others) is deferred. The following methods will all return the most recently set value, even if that value hasn't yet been applied to the sounds.
XACT Fails Silently When Saving to Protected Directories on Windows Vista
On Windows Vista, XACT fails silently when a user tries to save XACT project files to a protected directory such as "Program Files"; to the user, it will look like the save was successful.
XACT Platform-Specific Compression Restrictions
In XACT, users should ensure that compression presets are valid for a given wave on all platforms; if compression fails, the wave reverts to the use of a no compression preset, and, therefore, is uncompressed on all platforms. For Windows exclusive titles, ensure that the Xbox 360 format setting is PCM to avoid this issue. On Xbox 360, ensure that all XMA-compressed waves are 16-bit. On Windows and Xbox 360, ensure that all xWMA-compressed waves use xWMA's supported sampling rates.
Symbols for DirectX
The latest and most complete source for debugging symbols is the Microsoft Symbol Server. We recommend using the symbol server rather than using the included partial symbols package. For instructions about using the Microsoft Symbol Server, see http://www.microsoft.com/whdc/devtools/debugging/debugstart.mspx.
Installation Notes for All Platforms
This SDK installs on Windows XP, Windows Server® 2003, Windows Server 2008, and Windows Vista using Visual Studio .NET 2005 or 2008.
Before installing the current DirectX SDK, remove previous versions of the DirectX SDK.
Some samples require that you install the latest Microsoft Windows SDK (Platform SDK) on your system.
If you are using Visual Studio and run the Platform SDK Integration tool, all custom include and library paths will be erased, including those added by the DirectX SDK. To fix the issue, developers will need to either reinstall the DirectX SDK or manually add the paths to Visual Studio.
If you encounter compilation issues related to the DirectX headers, make sure that the include directories in Visual Studio are set correctly. On the Win32 platform, make sure that there is a reference to the DirectX headers. "$(DXSDK_DIR)include" should appear in the include directory "$(VCInstallDir)Include."
Several virus protection software applications interfere with SDK installation. They may require you to disable virus protection software until SDK installation is completed.
If you encounter the error message "A cabinet file is necessary for installation and cannot be trusted" during installation, your system may be corrupted, or cryptographic services may be disabled. To resolve the problem, try the following:
Enable cryptographic services. On the Start menu, right-click My Computer, and then click Manage. The Computer Management window appears. In the left navigation pane, click Services and Applications. In the right pane, double click Services, and then double-click Cryptographic Services. The Cryptographic Services Properties property sheet appears. On the General tab, ensure that Service Status is Started, and that Startup Type is Automatic.
If you are running Windows on a FAT32 drive, run scandisk.
Try the resolution steps in Detecting digital signing issues in Windows XP.
Try the resolution steps in You cannot install some updates or programs.
Remove temporary files in . If you are installing end-user runtime, also remove "system32directxwebsetup Error."
External firewall programs may indicate that the file InstallDeveloperFiles.exe wants to access the Internet. This is by design, and should be enabled.
Скачать одним файлом:
Скачать частями:
ПАРОЛЬ: PRO-Warez.ru