DirectX Tool Kit: Now with GamePads

The XInput API is almost trivial to use at first glance which is basically two simple C APIs with very simple parameters. There are, however, a number of subtleties that have crept in over the years, including the split between Windows 8 and previous releases. There is also a potential performance problem if you naively…

2

GDC 2014

In addition to the DirectX 12 announcement this week at the Game Developers Conference, there are also a number of sponsored sessions some of which I’ll be presenting. Hope to see you there. Update: a blog post with the details of the announcement is now available along with some videos of the related talks. ID@Xbox Introduction…

4

DirectX Tool Kit for Audio

The December 2013 release of DirectXTK is now available on CodePlex, and includes a C++ implementation of the XNA Game Studio’s low-level audio framework using XAudio2 and X3DAudio. AudioEngine – This class represents an XAudio2 audio graph, device, and mastering voice; similar to XNA’s AudioEngine. SoundEffect – A container class for sound resources which can…

0

Windows Imaging Component and Windows 8

There are a number of new features and some bugs fixed in the Windows Imaging Component for Windows 8. With the installation of KB 2670838 this new version of WIC is also available on Windows 7 Service Pack 1. The Windows 8.0 SDK contains the latest version of the headers needed to build with the new…

2

Dual-use Coding Techniques for Games, part 3

Writing shared code for Windows Store, Xbox One, Universal Windows Platform (UWP) apps, and Win32 desktop apps (continued from part 1 and part 2) Windows Runtime (WinRT) APIs There are a number of areas of the system where you must use WinRT APIs to access the required functionality for Windows Store apps, and there is no…

0

Dual-use Coding Techniques for Games, part 2

Writing shared code for Windows Store, Xbox One, Universal Windows Platform (UWP) apps, and Win32 desktop apps (continued from part 1) Win32 APIs The majority of the “core” API family are new Windows Runtime (WinRT) style APIs which are not available for down-level Win32 desktop applications. Therefore the overlap is in Win32 APIs that are available…

2

Dual-use Coding Techniques for Games, part 1

Writing shared code for Windows Store, Xbox One, Universal Windows Platform (UWP) apps, and Win32 desktop apps Introduction Apps written for the Windows Store make use of the Windows Runtime (WinRT) and a restricted subset of Win32 APIs located in the core API family. Traditional Win32 desktop apps have access to a larger desktop API family,…

4

DirectXMath: F16C and FMA

In this installment in our series, we cover a few additional instructions that extend the AVX instruction set. These instructions make use of the VEX prefix and require the OS implement “OXSAVE”. Without this support, these instructions are all invalid and will generate an invalid instruction hardware exception. Half-precision Floating-point Conversion The F16C instruction set…

5

DirectXMath: AVX

The Advanced Vector Extensions (AVX) instruction set goes beyond just adding more instructions like we’ve seen in previous installments. AVX also introduces an extended register file and a new x86 instruction encoding prefix. The AVX instruction set expands the existing XMM register file of 128-bit registers used by SSE instructions. XMM now refers to the…

5

DirectXMath: SSE4.1 and SSE4.2

The SSE4 instruction set consists of two parts, referred as SSE4.1 and 4.2. The intrinsics are located in the smmintrin.h header. The SSE4.1 instruction set is the most interesting for DirectXMath, while SSE 4.2 adds some more specialized instructions for CRC checks and string handling. The key new features are a flexible dot-product instruction, float4…

2