NVIDIAdeveloper.nvidia.com
Google
WWWdeveloper.nvidia.com

SDK 9.51 - Featured Effects

In each release of our SDK you will find hundreds of code samples, effects, whitepapers, and more to help you take advantage of the latest technology from NVIDIA. Check out our SDK Home Page to download the complete SDK, or browse through individual code samples below. You can also click on the video links for a quick preview, or the thumbnail images for a gallery of larger images.

This code is released free of charge for use in derivative works, whether academic, commercial, or personal. (Full License)

Select the category to view:
You will need FX Composer to load these effects projects and view the shader source code.
June 2005

Percentage-Closer Soft Shadows For a direct link to this sample, right-click and copy the URL (shortcut) of this link icon.

This technique generates soft shadows with penumbrae that harden on contact, giving useful and realistic visual cues. Based on shadow mapping and percentage-closer filtering, percentage-closer soft shadows (PCSS) generate high-quality soft shadows with just a single shadow map, without any pre-processing, post-processing, or other modification to the host application. The only required change is to replace the typical shadow mapping pixel shader with a PCSS shader. This effect requires FX Composer 1.8 or higher.
  Minimum Required GPU

Shadow




Whitepaper
Video
Download


softStencilShadow For a direct link to this sample, right-click and copy the URL (shortcut) of this link icon.

softStencilShadow Project
  Minimum Required GPU






Whitepaper

Download


goochSlicer For a direct link to this sample, right-click and copy the URL (shortcut) of this link icon.

goochSlicer Project
  Minimum Required GPU








Download


dilation For a direct link to this sample, right-click and copy the URL (shortcut) of this link icon.

dilation Project
  Minimum Required GPU








Download


stencilShadow For a direct link to this sample, right-click and copy the URL (shortcut) of this link icon.

stencilShadow implements vertex-shader shadow-volume extrusion and shows how to set up simple stencil shadowing in FX Composer
  Minimum Required GPU






Whitepaper

Download

May 2005

cmykBloom For a direct link to this sample, right-click and copy the URL (shortcut) of this link icon.

cmykBloom Project
  Minimum Required GPU








Download


psych_bg For a direct link to this sample, right-click and copy the URL (shortcut) of this link icon.

psych_bg Project
  Minimum Required GPU








Download


gooch_shadow For a direct link to this sample, right-click and copy the URL (shortcut) of this link icon.

gooch_shadow Project
  Minimum Required GPU






Whitepaper

Download


drainBamage For a direct link to this sample, right-click and copy the URL (shortcut) of this link icon.

drainBamage Project
  Minimum Required GPU








Download

April 2005

lineDraw For a direct link to this sample, right-click and copy the URL (shortcut) of this link icon.

lineDraw Project
  Minimum Required GPU








Download


optical_distort1 For a direct link to this sample, right-click and copy the URL (shortcut) of this link icon.

optical_distort1 Project
  Minimum Required GPU








Download


bleach_bypass For a direct link to this sample, right-click and copy the URL (shortcut) of this link icon.

bleach_bypass Project
  Minimum Required GPU








Download


duskHolga For a direct link to this sample, right-click and copy the URL (shortcut) of this link icon.

duskHolga Project
  Minimum Required GPU








Download


titleOverlay For a direct link to this sample, right-click and copy the URL (shortcut) of this link icon.

titleOverlay Project
  Minimum Required GPU








Download

February 2005

uvDetective For a direct link to this sample, right-click and copy the URL (shortcut) of this link icon.

Shows uvDetective on a very simple model. Try it on any model of your own. UVDetective is a debugging/development shader that displays multiple useful facts about the UV coordinates on a model, and importantly shows the model's UV derivatives -- that is, how much stretching the UV's have in any part of the model. It also can display different exture MIP levels as varying colors. Finally and importantly, it has "TexRes" modes (techniques) that determine best texture resolutions based on a user-specified choice. For example, if the user specifies "256" then the display will show black where that resolution would be optimal, based on the current model and display size. Areas where a higher resolution could be used will be blue, while areas that could accept a lower resolution will be yellow
  Minimum Required GPU

Debug





Video
Download


anaglyphic_stereo For a direct link to this sample, right-click and copy the URL (shortcut) of this link icon.

Anaglyphic stereo view of a tree model -- use red/blue 3D glasses
  Minimum Required GPU

Image Postprocessing





Download


BRDFpaint For a direct link to this sample, right-click and copy the URL (shortcut) of this link icon.

paint_brdf lets an artist work directly on BRDF lookup tables using a brush -- and while seeing the live results of the newly-created BRDF on any model, while they design it. Use the pulldown on/off flags to determine which part of the BRDF to paint, and then watch the results on-screen and in the textures panel. Just save the textures as DDS files for final use.
  Minimum Required GPU

BRDF




Whitepaper

Download

January 2005

scroll For a direct link to this sample, right-click and copy the URL (shortcut) of this link icon.

Side-scroll animation
  Minimum Required GPU

Image Postprocessing





Download


DebugCab For a direct link to this sample, right-click and copy the URL (shortcut) of this link icon.

Geometry from NVIDIA's "Time Machine" truck, showing a variety of vertex values and scene coordinate systems encoded as colors and patterns. See the descriptions of the "SeeValues" and "SeeSpaces" HLSL shaders for more details
  Minimum Required GPU








Download

December 2004

ToksvigAA For a direct link to this sample, right-click and copy the URL (shortcut) of this link icon.

ToksvigAA shows how to use texturing inside a BRDF, so that the anti-aliasing inherent in the texture engine can be used for arbitrary surface calculations. In this specific case, the specular highlight function is pre-calculated, and its values placed in a table (as a texture). The calculation is done by CPU-side HLSL code, just once before rendering begins. The values in this lookup table are then read as texture inputs by the BRDF. Since the complete shading function is pre-calculated, rather than just a portion, the texture antialiasing covers the entire high-freuqency highlight -- typical bump- or normal-mapping schemes would only antialias one or two terms of the specular function, which would still be high-frequency and would exhibit aliasing. Both AA and non-AA versions of the specular function are provided in the shader, as alternative techniques that can be easily compared in the shaded display.
  Minimum Required GPU

Basic




Whitepaper
Video
Download

November 2004

post_spot For a direct link to this sample, right-click and copy the URL (shortcut) of this link icon.

A 2D effect that applies a "spotlight" to the entire frame using frame-buffer alpha blending, and then layers it with the "sepia" toning shader.. "post_spot"ontains simple spot and bumpy techniques, while "sepia" allows arbitrary color toning and/or desaturation of any color image.
  Minimum Required GPU






Whitepaper

Download


hwShadowMap For a direct link to this sample, right-click and copy the URL (shortcut) of this link icon.

"hwShadowMap" enables NVIDIA's built-in HW support for shadow-mapping from D24S8 depth textures (format "D24S8_SHADOWMAP") — this shadow mappng is faster than using floating-point surfaces and comes with built-in shadow filtering for top-notch results. The view frustum and render-to-texture tasks are maganed by macros from the header file "shadow_map.fxh" and bind automatically to the scene lamp. Setting the shader and setting the "Textures" source display to "scene" allows you to see the view from the shadow rendering pass, specified by a DXSAS "RenderPort."
  Minimum Required GPU

Shadow




Whitepaper
Video
Download


shadowSpot2 For a direct link to this sample, right-click and copy the URL (shortcut) of this link icon.

Spotlight with the cone angle defined by the shadow projection. Fast and flexible
  Minimum Required GPU






Whitepaper

Download


relief_maps For a direct link to this sample, right-click and copy the URL (shortcut) of this link icon.

"relief_maps" is a sample from our skilled friend Fabio Policarpo. It uses "relief mapping," an alternative to the usual bump or normal mapping. Not only does relief mapping disturb the surface normals, but also creates realistic geometric displacments in the shading -- and even casts shadows from those displacements.
  Minimum Required GPU

Texture





Video
Download


displace_maps For a direct link to this sample, right-click and copy the URL (shortcut) of this link icon.

Another great sample project from Fabio Policarpo. This sample uses textre-encoded displacement vectors to create the perspective illusion of displacement mapping without actually altering geometry
  Minimum Required GPU

Texture





Video
Download


grisaille For a direct link to this sample, right-click and copy the URL (shortcut) of this link icon.

From Siggraph 2004 - "grisaille" shading permits a simple numeric "flattening" of the overall shading, similar to engraved stone grisaille
  Minimum Required GPU








Download


shadow_fp_pcf For a direct link to this sample, right-click and copy the URL (shortcut) of this link icon.

shadow_fp_pcf uses a floating-point frame buffer as a shadow map to delive the highest-quality shadow, based on percentage-closer filtering (PCF). Instead of using NVIDIA's built-in PCF function, this effect performs PCF in the pixel shader itself, using shader model 3.0 looping to permit a much larger number of samples and a softer-looking result.
  Minimum Required GPU






Whitepaper

Download


chain For a direct link to this sample, right-click and copy the URL (shortcut) of this link icon.

A simple industrial chain with two shaders, both featuring a cube reflection map. The metal chain links themselves use the fast and simple "metalRefl" shader and are tinted to look like common hardened steel. The chain cover, a flexible plastic tube, uses "BumpGlossed," which incorporates a bumpmap (the pattern gives the simple model complex bending, more like a flexible tube) and a fresnel-attenuated reflectivity (more like real plastic surfaces).
  Minimum Required GPU

BRDF





Video
Download


dusk_gloom For a direct link to this sample, right-click and copy the URL (shortcut) of this link icon.

"dusk_gloom" shows tricks you can try yourself, combining image layers by using the "ScriptExecute Sorter" subwindow of the FXComposer Materials pane. The complete effect is created by combining "post_bloom" with two copies of "post_negative": negative->bloom->negative to create "gloom" from the "bloom."
  Minimum Required GPU






Whitepaper

Download


fluid For a direct link to this sample, right-click and copy the URL (shortcut) of this link icon.

"fluid" is an image-processing effect. Be sure to "splash" using the mouse!
  Minimum Required GPU








Download


fire For a direct link to this sample, right-click and copy the URL (shortcut) of this link icon.

Animated layered fire, based on Yury Uralsky's "Volumetric Fire" post on Cg Shaders.Org.
The shader revolves a cross section of a flame image around the Y axis to produce a cylindrical volume, and then perturbs the texture coordinates with 4 octaves of animated 3D procedural noise to produce the flame effect. This simpling is displayed on multiple parallel transparent camera-facing planes.
  Minimum Required GPU

Texture





Video
Download


paintLiquid For a direct link to this sample, right-click and copy the URL (shortcut) of this link icon.

paint_liquid is a tool similar to Photoshop's "liquify" command. Read any texture from disk, and then "paint" over it with the mouse — the underlying image can be freely distorted and warped in real time. This shader works best with GPUs that can support 16-bit floating point render targets, but will function on some older GPUs also — the distortion effect comes from painting an unseen extra texture, which is then used to perform a "dependant texture read" on the main input image.
  Minimum Required GPU

Image Postprocessing



Whitepaper
Video
Download


oneCycleSkin For a direct link to this sample, right-click and copy the URL (shortcut) of this link icon.

"oneCycleSkin" combines a photographically-based texture of a single fingertip and the "painted sphere" technique to quickly get a lifelike appearance at a high fill rate
  Minimum Required GPU








Download

October 2004

paint_HDR For a direct link to this sample, right-click and copy the URL (shortcut) of this link icon.

paint_HDR is much like a regular simple paint program, but the pixels it uses are based on 16-bit floating-point values. This makes it perfect for touching-up HDR files etc. This paint shader has two controls to manage brightness — one for the brightness of the brush (which can even be negative) and one for the brightness of the overall image exposure or "white level." Bright brush strokes may appear white, but ajusting the exposure can reveal their true colors. Thanks to the developer/artist at NVIDIA's GPU Jackpot who asked for this shader — making it from the existing paint_brush shader took less than an hour, right there at the event!
  Minimum Required GPU






Whitepaper

Download


paint_blur For a direct link to this sample, right-click and copy the URL (shortcut) of this link icon.

paint_blur is a nv4x-class demo of floating point buffers and indirect texture access. The mouse allows you to "liquify" an image in real time, but in this case the "liquified" image is blurred against the original image via an accumulation buffer, creating the complete paint-on motion blur effect
  Minimum Required GPU






Whitepaper

Download


MrWiggleDot For a direct link to this sample, right-click and copy the URL (shortcut) of this link icon.

The "MrWiggleDot" FXComposer sample combines Vertex Animation and a "halftone" imaging shader
  Minimum Required GPU








Download


mandelbrotPS3 For a direct link to this sample, right-click and copy the URL (shortcut) of this link icon.

mandelbrotPS3 is a numerically-demanding example of pixel shader dynamic branching. Change the # of iterations at run time for varying precision effects
  Minimum Required GPU








Download


fireball For a direct link to this sample, right-click and copy the URL (shortcut) of this link icon.

volume-texture fireball
  Minimum Required GPU








Download


durerDusk For a direct link to this sample, right-click and copy the URL (shortcut) of this link icon.

durerDusk shows a non-photo-real shading effect, designed to emulate a style of cross-hatched two-layer pen drawing
  Minimum Required GPU








Download


lambSkinDusk For a direct link to this sample, right-click and copy the URL (shortcut) of this link icon.

lambSkinDusk shows a cheap, fast way to emulate subsurface light scattering effects. The overall image is further enhanced by a sepia-tone pass
  Minimum Required GPU








Download

September 2004

glowTrailFP For a direct link to this sample, right-click and copy the URL (shortcut) of this link icon.

glowTrailFP two simple models with image process sweetening. Be sure to hit the "play" button. These objects leave persistent but fading images behind as the scene moves. The uses persistent render-to-texture for animated effect. Each frame is rendered to a texture, blurred and saved from frame-to-frame. Each frame, the previous blur is faded slightly before being added to the new scene.
  Minimum Required GPU

Image Postprocessing



Whitepaper
Video
Download

August 2004

displace2 For a direct link to this sample, right-click and copy the URL (shortcut) of this link icon.

Show vertex-shader texture fetch for displaced surface. Changing the tesselation paramters of the cylinder will alter the effeciveness of this technique, depending on the texture chosen. Remember that the texture must be in 32-bit-fp format
  Minimum Required GPU








Download


blendLayers For a direct link to this sample, right-click and copy the URL (shortcut) of this link icon.

The "blendLayers' FXComposer sample shows typical material effects, plus imaging "blend modes" (much like those found in programs like Adobe Photoshop™), encapsulated as pixel shaders
  Minimum Required GPU








Download

May 2004

tonemap For a direct link to this sample, right-click and copy the URL (shortcut) of this link icon.

tonemap shows high-dynamic-range imaging effects by permitting the user to control the exposure and look of a "deep pixel" image
  Minimum Required GPU

Image Postprocessing




Video
Download


corona For a direct link to this sample, right-click and copy the URL (shortcut) of this link icon.

Animated noisy glow effects around each object, "Corona" is an animated extension of "post_halo" and "post_glowTrail" with the simple addition of noise. Objects are rendered into a texture, that texture swizzled and blurred, noise used to repeatedly offset the texels, and over several frames each new frame is tinted, faded, and moved by noise to a new location for a fire-like effect around the edges of each object.
  Minimum Required GPU

Image Postprocessing




Video
Download


spinFX For a direct link to this sample, right-click and copy the URL (shortcut) of this link icon.

spinFX shows accumulation-buffer motion blur. By default a SINGLE motion-blurred frame is drawn. Uncomment the USE_TIMER macro and recompile to enable animation.
Accumulation buffer effects are created by rendering the same object repeatedly, and accumulating the resultant pixels into a deep (FP16) "accumulation buffer." This is therefore a render-to-texture effect. For each subsequent re-rendering, the objects and/or camera are moved or changed slightly. Once the accumulation passes are complete, the resultant floating-point pixels are re-averaged into a viewable and nicely-blurred picture. Controls in the shader determine the balance between render speed (a small number of samples) and blur quality (a large number of samples).
  Minimum Required GPU

Image Postprocessing




Video
Download

Last Update: Jan 17, 2007
NVPerfHUD 4