What's New in the Summer 2004 DirectX SDK
The following features have changed in this SDK update:
SDK Updates
The following features have been updated in the SDK:
Performance Tools
A new tool designed to capture detailed performance information from a running application is now available. It is called PIX and is available at the following location:
(SDK root)\Utilities\PIX\PIX.exe
To help get started, see PIX.
Graphics Updates
The following features have been updated in the graphics component:
D3DX
The following new features were added to D3DX:
- Precomputed Radiance Transfer - To simulate scenes with precomputed radiance transfer (PRT), use the following D3DX interfaces and functions, which largely replace previous PRT functions: ID3DXPRTBuffer, ID3DXPRTCompBuffer, ID3DXPRTEngine, ID3DXTextureGutterHelper. See Precomputed Radiance Transfer.
- HLSL Supports Shader Model 3 - High-level shader language (HLSL) now supports shader model 3 for vertex and pixel shaders (see Shader Model 3). The shader models are simplified considerably from earlier shader versions. As a result, if you are implementing shaders in hardware, you may only use vs_3_0 with ps_3_0, and you may not use either shader type with the fixed function pipeline. These changes make it possible to simplify drivers and the runtime. HLSL pixel shader input semantics must have matching semantics in vertex shader output semantics. Some examples are shown in Match Semantics on vs_3_0 and ps_3_0 Shaders. For additional improvements, see Shader Model 3.
- Add User Intent to Effects with Standard Annotations and Semantics - To communicate information about effect parameters that are intended to be shared between effects and applications, Microsoft is working with its partners to create a set of industry-standard semantics and annotations. These can be attached to shared parameters to allow applications to understand standardized effects. See DirectX Standard Annotations and Semantics Reference.
- Draw Multiple Instances of Geometry More Efficiently - Given a scene that contains many objects that use the same geometry, you can draw many instances of that geometry at different orientations, sizes, colors, and so on with dramatically better performance by reducing the amount of data you need to supply to the renderer. Instancing requires a device that supports vs_3_0. See Efficiently Drawing Multiple Instances of Geometry.
- Effect System Improvements Include Preshaders and Parameter Blocks - There are a number of improvements with the effect system such as:
- The sequence of calls for applying effect state to a device has changed to the following:
ID3DXEffect::Begin starts the active technique.
ID3DXEffect::BeginPass begins a pass.
ID3DXEffect::CommitChanges updates changes to any set calls in the pass.
ID3DXEffect::EndPass ends a pass.
ID3DXEffect::End ends the active technique.
You no longer call ID3DXEffect::Pass because it has been removed from the header file. For more information, see Render An Effect.
- Effect Preshaders - Preshaders improve the efficiency of an effect. See PreShaders Improve Performance.
- Effect Parameter Sharing and Parameter Blocks - Use an ID3DXEffectPool interface to share effect parameters. See Sharing Effect Parameters. Use parameter blocks to help manage the parameters in one or more effects. See Use Parameter Blocks to Manage Effect Parameters.
DXUT
The DirectX SDK samples are now authored in a new function-based framework called DXUT. In addition to looking at the new Samples, you can also see documentation about DXUT at DXUT Reference.
D3DX9Mesh.h
The following new methods have been added:
See Also
What's New in the October 2006 DirectX SDK