NVIDIA Direct3D 10 SDK – Release Notes

Version 10.6, January 2011

sdkfeedback@nvidia.com

 

The NVIDIA Direct3D 10 SDK demonstrates some of the cool, next-generation techniques that are possible with Microsoft’s DirectX 10.    The SDK includes both Direct3D code samples and whitepapers explaining the effects in detail. The latest version of the NVIDIA SDK is available at developer.nvidia.com.

 

This NVIDIA SDK is entirely new for DirectX 10.  It stands along side the previous NVIDIA SDK 9.5, rather than superceding it.

New in This 10.6 Release

1.      An improved version of Instanced Tessellation. This sample implements 3 major schemes for Approximating Catmull-Clark Subdivision Surfaces using instanced tessellation in both DX9 and DX10. In the sample, these three schemes are also compared in terms of their visual quality and performance.

2.      Bug fix for StencilRoutedKBuffer: the previous version would create a DX 10.1 device, resulting in corruption errors.  A modification to DXUTCore prevents the DX 10.1 device from being created for the StencilRoutedKBuffer project.

3.      Upgrade to the June 2010 DirectX SDK: some minor fixes were required because fxc catches more HLSL errors.

4.      Upgrade to Microsoft Visual Studio 2008 because the 2005 version is no longer supported by Microsoft’s DirectX SDK.

Prerequisites

 

To run the NVIDIA SDK, you require a graphics card which supports DirectX 10, such as the GeForce 8 Series or later.

 

Full source is provided.  To compile the samples, you additionally require:

 

  1. Microsoft DirectX SDK from June 2010;
  2. Microsoft Visual Studio 2008;

 

In the absence of these items, the SDK contains short movies which demonstrate the features of each sample.  These can be accessed via the SDK Browser.

 

Getting Started

 

Install the package.  It will place an icon on your desktop: NVIDIA Direct3D SDK 10 Browser.  Click on this to launch the browser.  You can use the browser to examine an overview of each sample.  There are links leading to the executable demos, short videos, whitepapers and the source files.

 

Use of CSAA

Most samples default to using 16x Coverage Sample Anti-Aliasing (CSAA).  Check out the included CSAA Tutorial sample for more on how CSAA works.  In a few samples, anti-aliasing is not relevant, i.e. for image processing, or it is not possible in samples which bind the z-buffer as a texture.

 

File Structure

 

In a typical installation, the SDK is installed at:

 

C:\Program Files\NVIDIA Corporation\NVIDIA SDK 10\NVIDIA Direct3D SDK

 

Within this top-level directory, the file structure is as follows:

 

 +-Bin                  <- directory for executables/shared dll's/pdb's (configured as Output Directory in VS)
 |  +-MyCoolDemo.exe
 |  +-MyCoolDemod.exe  <- debug version
 |  +-MyCoolDemod.pdb
 |  +-zlib.dll         <- shared dll
 |  +-...
 |
 +-Include             <- "interface" header files for shared libs
 |  +-DXUT             <- header files for dxut library
 |  |  +-DXUT.h
 |  |  +-...
 |  |
 |  +-NVUT             <- header files for NVIDIA utilities
 |     +-NVUT.h
 |     +-...
 |
 +-Lib                 <- shared lib files 
 |  +-DXUT.lib
 |  +-DXUTd.lib
 |  +-...
 |
 +-Media               <- shared media files
 |  +-lightsource.x
 |  +-texture.jpg
 |  +-...
 |
 +-Source
 |  +-MyCoolDemo
 |  |    +-doc
 |  |    |  +-MyCoolDemo.pdf    <- Documentation describing technique/algorithm etc.
 |  |    |
 |  |    +-MyCoolDemo.cpp
 |  |    +-MyCoolDemo.h
 |  |    +-MyCoolDemo.fx
 |  |    +-
 |  |    +-MyCoolDemo.vcproj <- project to build MyCoolDemo.exe/MyCoolDemod.exe
 |  |    +-...
 |  |
 |  +-...
 |  |
 |  +-Common            <- source code for common libs
 |  |    +-DXUT
 |  |    |  +-DXUT.cpp
 |  |    |  +-DXUT.h
 |  |    |  +-DXUT.vcproj <- project to build DXUT.lib/DXUTd.lib
 |  |    |  +-...
 |  |    |
 |  |    +-NVUT
 |  |    |  +-NVUT.cpp
 |  |    |  +-...
 |  |    |
 |  |    +-...
 |  |
 |  +-...
 |
 +-Temp                 <- Directory for temporary files generated by build process
 |
 +-Release.sln       <- VS solution links to .vcproj for each sample

 

Compilation Setup

To compile the samples Visual Studio must first be configured with the correct paths for the DirectX SDK.  (Tools menu -> Options; Go to Projects and Solutions category, then VC++ Directories page.)  Settings are required for include directories and libraries.  In a typical installation these are:

 

C:\Program Files\Microsoft DirectX SDK (June 2010)\Include

C:\Program Files\Microsoft DirectX SDK (June 2010)\Lib\x86

 

The DirectX 10 setup program may set these for you.  (The NVIDIA SDK installer cannot set these paths because the details may differ on your system.)

 

There is a top level solution for all samples located at:

 

Source\Release.sln

 

(See the above diagram of the directory structure.)

 

Individual projects do not have their own solutions.  You can create individual solutions by opening the vcproj project files.  In this case, dependencies will have to be added: all projects depend upon DXUTCore.vcproj and DXUTOptional.vcproj; many also depend upon NVUT.vcproj.

 

Known Issues

 

The NVIDIA Direct3D 10 SDK uses the DXUT framework library for window management, user interface, etc.  There are known issues.  In particular, many options in the Change device dialog cause crashes.

 

A few whitepapers were not ready for the beta release: InstancedGS, HDRRendering, Metaballs and Smoke.  Check the NVIDIA Developer web site for updates.

 

Updates

 

Check http://developer.nvidia.com for regular updates.

Notice

ALL NVIDIA DESIGN SPECIFICATIONS, REFERENCE BOARDS, FILES, DRAWINGS, DIAGNOSTICS, LISTS, AND OTHER DOCUMENTS (TOGETHER AND SEPARATELY, “MATERIALS”) ARE BEING PROVIDED “AS IS.” NVIDIA MAKES NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.

Information furnished is believed to be accurate and reliable. However, NVIDIA Corporation assumes no responsibility for the consequences of use of such information or for any infringement of patents or other rights of third parties that may result from its use. No license is granted by implication or otherwise under any patent or patent rights of NVIDIA Corporation. Specifications mentioned in this publication are subject to change without notice. This publication supersedes and replaces all information previously supplied. NVIDIA Corporation products are not authorized for use as critical components in life support devices or systems without express written approval of NVIDIA Corporation.

 

Trademarks

NVIDIA and the NVIDIA logo are trademarks or registered trademarks of NVIDIA Corporation in the United States and other countries. Other company and product names may be trademarks of the respective companies with which they are associated.

 

Copyright

© 2011 NVIDIA Corporation. All rights reserved.