DirectX 10 brought you Shader
Model 4.0, which included full support
for integers and bitwise operators among other features. Direct3D 10.1 added Shader
Model 4.1, with support for direct MSAA sample access. DirectX 11 brings Shader
Model 5, which utilizes object-oriented
concepts to help reduce the pain of shader development and brings optional
support for double precision. This update to HLSL enables you to bring the full
power of the HLSL compiler to bear on the problem of shader specialization
using interfaces, objects, and polymorphism. With dynamic shader linkage, developers
can more easily author larger, flexible shaders and permute out specialized,
optimized versions for use at run time during specific rendering.
Compute Shader
Anyone already familiar with general
purpose use of GPUs will be excited to hear about the new compute shader, which
brings cross-hardware vendor support for programming the GPU in general purpose
ways (GPGPU). There have already been many advances made in applying the huge
amount of numerical crunch power GPUs have to large scale computing problems in
previously niche markets. With the addition of the compute shader in DirectX
11, Microsoft makes these algorithms possible on the client across a broad
range of hardware. Look for exciting new ways that games and other application
developers can take advantage of GPUs for tasks other than just rendering.
Key features include
communication of data between threads, and a rich set of primitives for random
access and streaming I/O operations. These features enable faster and simpler
implementations of techniques already in use, such as imaging and
post-processing effects, and also open up new techniques that become feasible
on Direct3D 11-class hardware.
Additional Features
Even more exciting features are in
store for DirectX 11 than can be covered in this basic introduction, but here
are two last-minute things we simply couldn't finish this article without
mentioning.
Conservative oDepth Traditionally, IHVs have had to disable Z acceleration structures and
algorithms when shaders write to the depth buffer via the oDepth register. The
conservative oDepth feature in DirectX 11 enables shaders to write to the depth
buffer within a specified region guarantee. This enables the hardware to avoid
the full loss in performance by enabling acceleration outside of the guaranteed
region.
16K Texture Limits and Texture Clamps DirectX 11 raises the maximum texture size from 4K to 16K and also provides
MIP-LOD control clamps to limit the number of mipmap levels loaded to the GPU.
Summary
We're excited to bring you this newest
release of the DirectX API set. This version runs on Windows Vista as well as future
versions of Windows, and it will work on your Direct3D 10-class and 10.1-class hardware,
while exposing the new features of DirectX 11-class hardware. Many of the
features are intended to make developer's lives easier while enabling
opportunities for new functionality and performance gains. Look forward to a community
tech preview in the November 2008 release of the DirectX SDK and start working
with this next step in the evolution of graphics technology.
References
For more information about
sub-division surface approximations, see the Sub-Division Surface sample in the
DirectX SDK. Also look for the forthcoming Gamefest 2008 talks "Multithreaded
Rendering for Games" and "DirectX 11 Tessellation," coming soon at http://msdn.microsoft.com/directx/presentations. Finally, also see Graphics APIs in Windows Vista on MSDN.
It's useful for me.
I love that
Will online marketing consulting