The August 2012 release of the Durango XDK from Microsoft contains the following new features, tools, and documentation.
For features that shipped in a previous Durango XDK release, see the What’s New document for that release.
The most recent release notes and Durango XDK updates can always be found on Durango Downloads on the Xbox Game Developer site. For access, log in with your ID and password on https://developer.microsoft.com/en-us/games/xbox/partner/index; at the top of the page, point to Development and click Downloads.
The Durango developer support group sends e-mail to Durango developers whenever a new Durango XDK is released. Also, you can check with your account manager for the latest information about upcoming Durango XDK releases.
With the release of the August 2012 Durango XDK, versions of the Durango XDK before May 2012 are retired. We maintain download support for the three most recent releases of the XDK. You are encouraged, though, to update to each new release in order to get the most recent bug fixes and new features.
Microsoft’s User-Mode Driver (UMD) is now the default
In this release, Microsoft’s UMD is the default driver. We have changed the flags that enable use of the OEM driver, and we plan to remove that driver entirely from the Durango XDK in an upcoming release.
Please use the Microsoft UMD and use the forums linked at the bottom of this page to let us know what errors, issues, or bugs you encounter, so that we can release Durango with the best-quality driver possible.
New Direct3D Game Makefile template
The new Direct3D Game Makefile template demonstrates how to use an external build system for a Durango game from within Visual Studio. The only difference between this template and the Direct3D Game template is in the way the game is built. While the Direct3D Game template uses the built-in msbuild support for building C++ applications, the Direct3D Game Makefile template explicitly specifies the build commands via build/rebuild/clean project properties. The file contents and path settings in the Direct3D Game Makefile template are the same as those in the Direct3D Game template.
Note that you can use similar methods to build projects that are not games.
New features in PIX
PIX frame captures now collect D3D API events in conjunction with the command-buffer draw events collected in past releases. The event grid lists all D3D calls made during the frame, allowing you to gain a better understanding for how calls in your graphics engine map to the lower level flow of commands to the GPU.
The Timeline section of the Events tab now includes chronological visualization of counter data. Clicking with the right mouse button on a counter heading in the events grid will graph that counter over time matched to the events displayed in the GPU timeline.
The Counters tab now supports counter sets. You can use counter sets to manage groups of the valuable counters for analysis. A default counter set is provided with the current recommended counters for general use.
PIX also includes the following new features:
Change to Vertex, Pixel, and Compute Shader Handling
In this release, there is a change in the way Vertex, Pixel and Compute Shaders are handled by the XDK’s d3dcompiler tool and by the Durango User Mode Graphics Driver. Vertex, Pixel and Compute Shaders are now fully precompiled by the XDK and these precompiled shader instances are embedded into the shader bytecode. This avoids the one-time runtime cost of compiling the shaders to GPU Instructions. This is not a breaking change; existing shader bytecode will still run as before, but shaders must be recompiled with the tools from this release to take advantage of the change. The fxc /dumpbin feature has been extended to print out any precompiled shaders that may be embedded in the output of the d3dcompiler tool.
Introducing NUI 2.0
NUI 2.0 introduces an Alpha version of the Durango sensor and a substantial update to the NUI subsystem architecture. NUI 2.0 introduces several new features to Durango, listed here and discussed in more detail below:
New Alpha sensor support
This release includes support for the next-generation Kinect sensor, and coincides with the introduction of the new Durango Alpha sensor. The new sensor delivers a substantial improvement in depth fidelity along with a new lighting independent IR feed. Existing NUI features such as Identity and Skeletal Tracking now run natively on Durango Alpha sensors, and support for the original Kinect sensor has been removed for all but the color stream. Durango Alpha sensors are now available to be ordered through the same channels you already use to order Durango Alpha kits.
Skeletal Tracking: Skeleton 2.0
The new Durango skeleton is now available. Skeleton 2.0 sports two new joints on each hand and one new spine joint. It also includes positional updates to many of the original 20 joints. The result is a more expressive and anatomically correct skeleton; simplifying character retargeting and providing a better foundation for tracking quality improvements.
The standing and seated tracking pipelines have been merged into a single pipeline that supports both standing and seated. This enables developers to seamlessly switch between standing and seated gameplay, allow both simultaneously, or even track bystanders sitting back on the couch.
Skeletal tracking now provides a full skeleton on 6 players (up from 2 on Xbox 360). This change dramatically simplifies engagement by eliminating the need for apps to manage which players are tracked actively versus passively. It also enables multiplayer matches with greater than 2 players, and provides visibility into who is in the room beyond the active players.
NUI hand state detection and tracking
A new feature of the Durango input pipeline that was not available in Xbox 360 is the addition of hand state detection and tracking for the nearest tracked player. Available hand states are open, closed, and two fingers (index and middle) raised.
The hand state can be used to support drag and drop and other powerful interactions. For example, hand state can be used to pan and zoom, to switch input modes (for example, two fingers raised can indicate “I am trying to select something”), or trigger button activation. Hand state can also be used to create a much richer gesture language because it directly maps to our daily experiences: we pick up and manipulate objects all the time. These are just a few ideas to get your creative juices flowing and to show how hand state adds a whole new dimension to the NUI experience.
Learn about players’ expressions with the NUI Expression API
Expression augments the NUI_BODY_DATA structure and provides information about players’ facial expressions (like happy vs. neutral); their facial activity (like talking vs. none); and overall engagement with the onscreen content (like high vs. low). In the August XDK developers will see the initial set of Expressions and Facial Activities, with Engagement coming in November.
NUI Identity
We’re shipping our first preview of NUI Identity in the August XDK. NUI Identity runs as part of the NUI Service, biometrically recognizing bodies as unique users. Users are automatically enrolled and recognized as they leave and re-enter as new bodies. Apps can access the unique User object paired with a given body. Using the Biometric Sign In Setup tool, the biometric identities of users can be persisted across multiple sessions. This allows a user to be biometrically recognized and signed in every time they use the console.
NUI Speech
The August 2012 XDK introduces the NUI Speech WinRT API. Theses APIs provides access to core speech functionality:
There are limitations with the initial release as follows:
These limitations will be addressed in a future release of the XDK; plus support for more speech features; e.g. dynamic grammars and additional language acoustic models.
Note that in this release, unlike with the Xbox 360, you do not have to directly load the speech DLL. It is now in the system registry and does not need to be manually loaded.
Secure Multiplayer Networking Preview Documentation
This release previews the core connectivity design of our upcoming multiplayer networking support, including Xbox LIVE Network IDs, Secure Device Associations and supporting objects under the Microsoft.Xbox.Networking namespace. We’ve included documentation for these classes that will enable secure multiplayer network communication using standard sockets. The interface will provide similar functionality to the Xbox 360 Secure Networking Library, XNADDRs and XNet-prefixed APIs, along with some Durango enhancements.
This release provides draft documentation, but no implementation. We hope that you will evaluate the API and give us feedback through the forums linked at the bottom of this page with your questions, comments, requirements and suggestions. (The metadata for this interface is defined in the XDK, so you can compile a program that references it, but if you try to actually execute the interface calls, they will fail with a runtime error.)
Cross-Subnet Connectivity Enabled By Default
The Durango alpha kit now allows cross-subnet connections by default. If you need to disable cross-subnet connections, set the following registry key from the command prompt on your alpha kit:
reg add HKCU\Software\Microsoft\Durango\XTF /v TcpSubnetOnly /t REG_DWORD /d 1
Changes to How Developer Kit IP Address is Specified
In this release, there is an addition to the Visual Studio project system. Currently, developers must explicitly enter the address of their console in the Remote IP Address property of their VS projects. Going forward, if a developer leaves that property value blank, Visual Studio will automatically deploy to the default console if one has been specified.
Audio Hardware Emulation
In this release, we introduce the Audio Control Processor Hardware Abstraction Layer (ACP HAL), Scalable Hardware Audio Processing Engine (SHAPE) and XMA emulation. This library and associated header files offer audio engine developers the ability to write code that runs on a software emulator of portions of the Durango audio hardware. This emulator is an accurate simulation of the hardware that will be released later in the Durango development program, though it runs more slowly than the final hardware. You can use this emulator now to begin work on code that will use the audio hardware when it becomes available. The primary limitation with this library is the lack of looping and seeking support for XMA content. This release also includes the XMA encoder tool xma2encode.exe.
Companion has been renamed to SmartGlass, and adds support for sensors
With the announcement of SmartGlass for the Xbox 360, we have changed the name of the corresponding Durango technology, as well. Feature name and many API names have been changed.
This release also adds support for sensors in Smart Glass devices, such as accelerometers, gyroscopes, compasses, and inclinometers.