Gamasutra is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

Gamasutra: The Art & Business of Making Gamesspacer
Sponsored Feature: Introducing DirectX 11
View All     RSS
September 23, 2019
arrowPress Releases
September 23, 2019
Games Press
View All     RSS

If you enjoy reading this site, you might also want to check out these UBM Tech sites:


Sponsored Feature: Introducing DirectX 11

by Kevin Gee [XNA]

August 15, 2008 Article Start Previous Page 2 of 3 Next

New DirectX11 Hardware Features

Next, let's take a look at some of the hardware specific features DirectX 11 brings.

New Hardware Stages for Tessellation

DirectX 11 brings three new stages (hull shader, tessellator, and domain shader) to the rendering pipeline. These stages enable flexible, programmable hardware support of tessellation. The hull and domain shaders are programmable parts; the tessellator is fixed function but supports a number of insertion settings providing control over the generated position data.

Hull Shader
This programmable unit allows transforms on input data to be performed as it runs at the source control mesh frequency. When discussing applications of the pipeline, we often mention performing a basis change in this shader, from one surface representation to another-for example, from Catmull-Clark quad mesh to Bezier patch controls.

This fixed-function unit can be simply thought of as a data expander and as a place where the IHVs can safely parallelize with the user-provided algorithms. It takes tessellation factors as input and inserts vertices in surface U,V space according to the chosen partitioning scheme.

Domain Shader
This unit executes once for every generated vertex, and as such is the place where surface formulations are evaluated. The inputs to this stage are provided in surface U,V domain ready for parametric surface evaluation.

The pipeline supports several input types (quad patch, triangle patch, or even poly-line), which allows developers to target almost any surface formulation. One usage scenario that has been strongly requested is support of sub-division surfaces for rendering characters.

Sub-Division Surface Approximation Schemes
Charles Loop and Scott Schaefer from Microsoft Research worked on a number of approaches for approximating sub-division surfaces that can be applied to the DirectX 11 pipeline. One of the approaches, provided as a DirectX 10 sample in the DirectX SDK, changes a quad patch basis mesh into Bezier surfaces of fixed tessellation. When applied to the DirectX 11 pipeline, this and other schemes can be used to deliver real-time rendering of sub-division surface meshes.

Improved Texture Compression

Textures in games are often the largest area of memory utilization, so it should be no surprise that further improvements to texture compression are needed to keep working set size and memory bandwidth consumption within the rates required for real-time rendering. DirectX 11 arms developers with new compression formats (BC6 and BC7) to help target high-quality rendering without sacrificing performance. Here we will focus on two specific examples of how DirectX 11 raises the bar for rendering quality. Some of you may be more familiar with the older DXT-style naming convention, which was changed to the block compressed (BC) naming convention for DirectX 10. The newer naming convention is used here.

Compression of High Dynamic Range (HDR) Image Sources
High dynamic range image sources are very common in games these days. When combined with intelligent tone map operators, HDR is often required to make titles look photorealistic. The new block compression (BC) scheme, BC6, has been designed to provide high-quality 6:1 compression of HDR image data with hardware support for decompression.

Click for full size.

Here we can see a comparison image for the HDR format. On the left is the HDR original image tone-mapped to a given exposure, and on the right is the equivalent BC6 image. The absolute error image is in the center. Notice how the Abs image contains no obvious blocking errors, the errors we are seeing are generally diffused noise errors. These are visually much less noticeable to the human eye than edges introduced by blocking.

Low Dynamic Range (LDR) / Normal Map Compression
The new BC7 scheme provides support for 8-bit/low dynamic range (LDR) data at 3:1 ratios. Here we compare the results of the new format with the existing block compressed approach, BC3.

Click for full size.

You can clearly see the blocking artifacts in the BC3 image, which are drastically reduced in the BC7 image. With this feature, developers and artists can expect more from their linear texture content and normal maps for the same or lower cost in memory size.

Article Start Previous Page 2 of 3 Next

Related Jobs

Insomniac Games
Insomniac Games — Burbank, California, United States

Lead Environment Artist
University of Exeter
University of Exeter — Exeter, England, United Kingdom

Serious Games Developer
innogames — Hamburg, Germany

PHP Developer - Tribal Wars
Insomniac Games
Insomniac Games — Burbank, California, United States

Sr. Project Manager

Loading Comments

loader image