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.
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.
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:
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.
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.
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.
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
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.
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.
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
Copyright
© 2011 NVIDIA Corporation. All
rights reserved.