 |
 | 3D Stereoscopic Development Guide | This guide covers the "Dos and Don'ts" of writing a game that can run in stereo in Direct3D or OpenGL. | 8/10/2001 | Programming Techniques |   |
 |
 | Advanced OpenGL Tutorial Introduction | A quick introduction, including a brief history of OpenGL.
| 3/23/2004 | Programming Techniques |   |
 |
 | Advanced Pixel Shader Details | Covers all pixel shader instructions, and describes their use. | 11/10/2000 | Effects
,
Programming Techniques |   |
 |
 | A Few Tips on Texturing | Some helpful pointers when creating materials | 4/15/2002 | Art Assets |   |
 |
 | AGDC 2003 Presentations | Presentations from AGDC 2003 | 1/27/2004 | Performance
,
Architecture
,
Effects
,
Programming Techniques |   |
 |
 | AGDC Per-Pixel Shading | This presentation, from the Australian Game Developer's Conference, covers the concepts necessary to understand how to implement per-pixel shading effects. | 11/15/2000 | Effects |   |
 |
 | All About Antialiasing | An overview of antialiasing, as well as modern problems and solutions.
| 3/22/2004 | Programming Techniques |   |
 |
 | An Introduction to GPU Image Processing | This whitepaper describes the basic methods of GPU usage for image processing and provides useful pointers to documentation, demo programs, and other developer tools. | 5/23/2005 | Programming Techniques |   |
 |
 | Anisotropic Texture Filtering in OpenGL | Anisotropic texture filtering produces higher image quality for most uses of texturing, and it is very easy to use! This paper describes some of the fundamentals of texture filtering, as well as how to use the OpenGL extension GL_EXT_texture_filter_anisotropic. | 7/17/2000 | Effects
,
Programming Techniques |   |
 |
 | An OpenGL Extension Safari | OpenGL extensions are GREAT! Volume rendering, point drawing, environment reflections, and alternate ways to modulate your specular are just a few of many usefull extensions. | 3/17/2000 | Programming Techniques |   |
 |
 | A Practical and Robust Bump-mapping Technique | The math and source code behind per-pixel bump mapping under OpenGL. Presented as part of GDC 2000. | 3/24/2000 | Effects
,
Programming Techniques |   |
 |
 | Avoiding 19 Common OpenGL Pitfalls | This document covers 19 software pitfalls common to beginning and intermediate OpenGL programmers. | 7/10/2000 | Programming Techniques |   |
 |
 | Best Practices for Shader Model 3.0 | How to use new Shader Model 3.0 features effectively.
| 7/9/2004 | Performance
,
Programming Techniques |   |
 |
 | Bindless Graphics Tutorial | Bindless Graphics refers to a set of incremental changes to OpenGL that will enable orders of magnitude improvement in the CPU-limitedness of graphics applications. | 4/1/2009 | Effects
,
Programming Techniques |   |
 |
 | Bonus Material from Richard Huddy's GDC 99 Presentation | Richard Huddy GDC 99 Bonus Material | 11/3/1999 | Programming Techniques |   |
 |
 | BRDF-based Lighting | These docs cover using BRDF-based lighting in real-time apps. They begin from the basics ("What is a BRDF?") to actual implementation details. Source code for generation of textures for use with BRDF-based lighting is included. | 10/30/2000 | Effects
,
Programming Techniques |   |
 |
 | Bump Map Compression | This whitepaper discusses the various options for compressing bump maps. | 10/21/2004 | Programming Techniques
,
Art Assets |   |
 |
 | CEDEC 2001 -- Chromatic Aberration | This presentation given by Mark Kilgard at CEDEC 2001 in Japan covers a technique for simulating the effects of wavelength dependent refraction. Presentations included in both English and Japanese. | 9/12/2001 | Effects |   |
 |
 | CEDEC 2001 -- Robust Stencil Shadow Volumes | This presentation given by Mark Kilgard at CEDEC 2001 in Japan covers techniques for rendering shadows using stencil. Presentations included in both English and Japanese. | 9/12/2001 | Effects
,
Programming Techniques |   |
 |
 | CEDEC 2001 -- Shadow Mapping with Today's OpenGL Hardware | This presentation given by Mark Kilgard at CEDEC 2001 in Japan covers the use of shadow maps in OpenGL. Presentations included in both English and Japanese. | 9/12/2001 | Effects |   |
 |
 | Cg: A System for Programming Graphics Hardware in a C-like Language | The SIGGRAPH paper presention for Cg, including design and implementation philosophies. | 7/30/2003 | Programming Techniques |   |
 |
 | Cg Language Specification | This document contains the complete Cg Language specification. | 8/22/2002 | Programming Techniques |   |
 |
 | Cg Runtime Transition | This document is geared towards developers moving code from the original beta Cg Runtime libraries, to the Release 1.0 enhanced runtime libraries. | 12/20/2002 | Programming Techniques |   |
 |
 | Cg Sample Shaders | Cg sample shaders provided by NVIDIA. | 10/14/2002 | Effects |   |
 |
 | China 2004 Presentations | Presentations from Perfect Kitchen Art 2004 in China. | 9/9/2004 | Performance
,
Architecture
,
Effects
,
Programming Techniques |   |
 |
 | ChinaJoy 2004 Presentations | Presentations from ChinaJoy 2004 | 2/12/2004 | Performance
,
Architecture
,
Effects
,
Programming Techniques |   |
 |
 | Cinematic Effects II: The Revenge | New techniques from film that game developers can use.
| 3/24/2004 | Effects |   |
 |
 | Color Key in D3D | A method for making parts of your textures transparent. | 1/11/2000 | Effects |   |
 |
 | Computations for Hardware Lighting and Shading | A great presentation of the math behind many of our demos & effects possible on the GeForce 256. | 3/17/2000 | Effects |   |
 |
 | Creating Reflections and Shadows with Stencil Buffers | Creating Reflections and Shadows Using Stencil Buffers Mark Kilgard GDC 99 | 11/3/1999 | Effects |   |
 |
 | Cube Environment Mapping | Cube environment mapping allows for accurate reflections without the problems of sphere environment mapping. A demo with source code is also available. | 1/14/2000 | Effects |   |
 |
 | Cube Map OpenGL Tutorial | Examples of cube map textured scenes are shown demonstrating environment mapping, stable specular highlights, and "bump map" like per-pixel lighting effects. For programmers, OpenGL's multi-vendor EXT_texture_cube_map extension is described with links to working sample code. | 11/3/1999 | Effects
,
Programming Techniques |   |
 |
 | Cube Maps | Cube maps can be used for much more than environment mapping. Here are a few other ways to use them. | 3/15/2000 | Effects
,
Programming Techniques |   |
 |
 | Cube Maps | This presentation covers the basics of using cubemaps and OpenGL. | 3/26/2001 | Effects
,
Programming Techniques |   |
 |
 | D3D 7 Vertex Lighting | A description of how Direct3D calculates lighting for your scene | 3/15/2000 | Programming Techniques |   |
 |
 | Data Storage and Transfer in OpenGL | Kurt Akeley's NVIDIA-U presentation about how data storage and transfer have evolved in OpenGL.
| 6/26/2003 | Programming Techniques |   |
 |
 | Deferred Shading | Learn about deferred shading, including advantages, implementation details, G-buffers, and more. | 7/9/2004 | Programming Techniques |   |
 |
 | Device IDs | Device ID values for NVIDIA processors. | 9/8/2003 | Programming Techniques |   |
 |
 | DirectX 7 and Texture Management | Summer Camp 99 | 11/12/1999 | Programming Techniques |   |
 |
 | DirectX 8 Graphics Overview | This presentation covers the new features of DX8 such as streams, index buffers, the new device/resource creation model, etc. It basically details the differences between DX8 and DX7. | 12/8/2000 | Architecture
,
Programming Techniques |   |
 |
 | Dot Product Lighting | Summer Camp 99 | 11/12/1999 | Effects |   |
 |
 | Dot Product Texture Blending | Dot product texture blending is a great way to add shading features to low-polygon geometry. | 12/3/1999 | Effects |   |
 |
 | Dual Paraboloid Environment Mapping | View Independent Environment Mapping with Dual Paraboloid Maps Mark Kilgard GDC 99 | 11/3/1999 | Effects |   |
 |
 | DX7 Optimization | A presentation from GDC2000 on optimizing DX7 apps. | 6/12/2000 | Performance |   |
 |
 | Dynamic Texturing | This presentation covers dynamically creating textures in OpenGL. | 8/10/2001 | Effects |   |
 |
 | Elevation Maps | Elevation maps, an easy form of voxel rendering, are a great way to reduce polygon counts while maintaining parallax effects. | 1/14/2000 | Effects |   |
 |
 | Eliminating Visual Artifacts | Eliminating Visual Artifacts Richard Huddy GDC 99 | 11/3/1999 | Programming Techniques |   |
 |
 | Emboss Bump Mapping | Emboss Bump Mapping Michael Gold GDC 99 | 11/3/1999 | Effects |   |
 |
 | Eurographics 2004 Presentations | Presentations from Eurographics 2004 | 9/9/2004 | Performance
,
Architecture
,
Effects
,
Programming Techniques |   |
 |
 | European Developers Forum 2004 Presentations | Presentations from the European Developers Forum 2004. | 10/15/2003 | Performance
,
Architecture
,
Effects
,
Programming Techniques |   |
 |
 | Fast, Practical, and Robust Shadow Volumes | This paper presents a set of algorithms for rendering shadows using the stencil buffer and the shadow volume technique. | 11/7/2003 | Programming Techniques |   |
 |
 | Fast Math Routines | A collection of good fast math routines including a fast table-based square root, and FloatToInt(). Never cast with (int) unless you understand why you shouldn't!! | 12/1/1999 | Performance |   |
 |
 | Fast Texture Downloads and Readbacks using Pixel Buffer Objects in OpenGL | | 9/28/2005 | Performance
,
Programming Techniques |   |
 |
 | Floating-Point Specials | This paper describes when floating-point specials are generated in various stages of a modern GPU pipeline, and discusses methods for handling and protecting against these situations. | 2/18/2005 | Programming Techniques |   |
 |
![]() | Frequently Asked GeForce3 Questions | Frequently asked questions about programming for GeForce3, with a decidedly DirectX 8 slant. Some of the information is API agnostic but, where applicable, specifics will be given with regard to DirectX 8. | 8/12/2001 | Performance
,
Architecture
,
Effects
,
Programming Techniques |   |
 |
 | Fresnel Reflection | Fresnel reflection occurs commonly in nature and is thus important for realistic real-time graphics. This paper describes how to implement Fresnel reflection efficiently on DirectX 8.1 hardware such as NVIDIA’s GeForce 3, including source code and screenshots. | 3/29/2003 | Effects |   |
 |
 | Fun with DX7 | Presentation from GDC2000 on DX7. Covers common misconceptions about the API. | 6/12/2000 | Programming Techniques |   |
 |
 | GDC 2001 -- Advanced OpenGL Game Development | This presentation is an overview of some of the new, advanced OpenGL features. | 3/23/2001 | Effects
,
Programming Techniques |   |
 |
 | GDC 2001 -- Automatic Mipmap Generation | This presentation covers the automatic mipmap generation facilities in OpenGL. | 3/23/2001 | Programming Techniques |   |
 |
 | GDC 2001 -- Basic Mistakes in Direct3D8 | A presentation on common basic mistakes in D3D. | 3/23/2001 | Programming Techniques |   |
 |
 | GDC 2001 -- DX8 Pixel Shaders | This presentation covers DX8 pixel shaders in detail. | 3/23/2001 | Architecture
,
Programming Techniques |   |
 |
 | GDC 2001 -- Efficient Animation | This presentation covers using DirectX8 for efficient animation. | 3/23/2001 | Programming Techniques |   |
 |
 | GDC 2001 -- Higher Order Surfaces | This presentation covers the use of higher order surfaces in OpenGL. | 3/23/2001 | Programming Techniques
,
Art Assets |   |
 |
 | GDC2001 -- Interactive Cloth Simulation | This presentation, from Microsoft DirectX Day at GDC, covers techniques used in the NVIDIA cloth simulation program like curved surfaces and vertex shaders (including doing raytracing in a vertex shader!). | 3/28/2001 | Effects |   |
 |
 | GDC 2001 -- More Advanced Hardware Rendering Techniques | This presentation covers advanced hardware accelerated lighting techniques in OpenGL. | 3/27/2001 | Programming Techniques |   |
 |
 | GDC 2001 -- OpenGL Performance | This presentation covers performance issues in OpenGL. | 3/23/2001 | Performance |   |
 |
 | GDC 2001 - OpenGL Surfaces with NV_evaluators | This presentation covers using higher order surfaces in OpenGL using NV_evaluators. | 3/23/2001 | Programming Techniques
,
Art Assets |   |
 |
 | GDC 2001 -- Optimization in DX8 | This presentation covers optimization techniques to get the most out of your D3D8 apps. | 3/23/2001 | Performance |   |
 |
 | GDC 2001 -- Per Pixel Lighting in OpenGL | This presentation covers per-pixel lighting techniques in OpenGL. | 3/23/2001 | Effects |   |
 |
 | GDC 2001 -- Programmable Texture Blending | This presentation covers programmable texture blending via register combiners in OpenGL. | 3/23/2001 | Programming Techniques |   |
 |
 | GDC 2001 -- Shadow Mapping with Today’s OpenGL Hardware | This presentation covers new hardware accelerated shadow techniques in OpenGL. | 3/23/2001 | Effects |   |
 |
 | GDC 2001 -- Shadow Techniques | This presentation covers a number of shadow techniques. | 3/23/2001 | Effects
,
Programming Techniques |   |
 |
 | GDC 2001 -- Texture Shaders | This presentation covers using texture shaders in OpenGL. | 3/23/2001 | Architecture
,
Programming Techniques |   |
 |
 | GDC 2001 -- Using P-Buffers for Off-Screen Rendering | This presentation cover P-buffers in OpenGL. | 3/23/2001 | Programming Techniques |   |
 |
 | GDC 2001 -- Vertex Programs | This presentation covers using vertex programs in OpenGL. | 3/23/2001 | Programming Techniques |   |
 |
 | GDC 2001 -- Writing Good Vertex Shaders | This presentation covers some advanced techniques for writing good, fast vertex shaders in DX8. | 3/23/2001 | Programming Techniques |   |
 |
 | GDC2002 -- Balancing the Rendering Pipeline | This presentation covers extracting maximum performance from the various parts of the rendering pipeline. | 3/27/2002 | Performance |   |
 |
 | GDC2002 -- Contentment | This presentation was given by Richard Huddy at GDC 2002. | 3/27/2002 | Programming Techniques |   |
 |
 | GDC2002 -- DirectX8 Performance | This presentation covers improving performance in Direct3D 8. | 3/27/2002 | Performance |   |
 |
 | GDC2002 -- Extending Textures Beyond Simple Pixels | This presentation covers interesting and novel uses for texturing. | 3/27/2002 | Effects
,
Programming Techniques |   |
 |
 | GDC2002 -- Hardware-Accelerated Procedural Texture Animation | This presentation covers generating procedural texture entirely on the GPU. | 3/27/2002 | Effects
,
Programming Techniques |   |
 |
 | GDC2002 -- High Dynamic Range and Other Fun Shader Tricks | This presentation covers image-based lighting using high dynamic range imagery, along with other techniques such as caustics and procedural terrain. | 3/27/2002 | Effects |   |
 |
 | GDC2002 -- In-Game Special Effects | This presentation discusses techniques for adding special effects to game engines. | 4/17/2002 | Effects |   |
 |
 | GDC2002 -- Occlusion (HP and NV Extensions) | This presentation covers usage of the HP and NV occlusion test extensions in OpenGL. | 3/27/2002 | Programming Techniques |   |
 |
 | GDC2002 -- OpenGL Multisample | This presentation covers using multisample AA in OpenGL. | 3/27/2002 | Architecture
,
Programming Techniques |   |
 |
 | GDC2002 -- OpenGL Render-to-Texture | This presentation covers using render to texture in OpenGL.
| 3/27/2002 | Programming Techniques |   |
 |
 | GDC2002 -- Practical Per-Pixel Effects | This presentation covers practical per-pixel lighting effects, all of which run on 2 texture hardware! | 3/27/2002 | Effects |   |
 |
 | GDC2002 -- Real-Time Hatching | This presentation covers the issues in implementing a non-photorealistic, hatching effect in real-time. | 3/27/2002 | Effects |   |
 |
 | GDC2002 -- Render-To-Texture Caching | This presentation covers using render-to-texture to cache temporary results, such as for shadowing. | 3/27/2002 | Programming Techniques |   |
 |
 | GDC2002 -- Texture Space On Real Models | This presentation covers generating texture space and fixing real-world issues such as mirroring. | 3/27/2002 | Programming Techniques |   |
 |
 | GDC2002 -- Vertex Program 1.1 and Texture Shader 3 | This presentation covers the vertex program 1.1 and texture shader 3 extensions in OpenGL. | 3/27/2002 | Architecture
,
Programming Techniques |   |
 |
 | GDC2002 -- What Comes After 4? | This presentation looks ahead to future developments in graphics. | 3/27/2002 | Architecture |   |
 |
 | GDC 2003 Presentations | Presentations from GDC 2003. | 9/4/2003 | Effects
,
Programming Techniques
,
Performance
,
Architecture |   |
 |
 | GDC 2004 Presentations | Presentations from the Game Developers Conference 2004 | 3/29/2004 | Performance
,
Architecture
,
Effects
,
Programming Techniques |   |
 |
 | GDC 2005 Presentations | Presentations from the 2005 Game Developers Conference. | 3/15/2004 | Performance
,
Architecture
,
Effects
,
Programming Techniques |   |
 |
 | GDCE 2003 Presentations | Presentations from GDCE 2003 | 9/16/2003 | Performance
,
Architecture
,
Effects
,
Programming Techniques |   |
 |
 | GDCE 2005 Presentations | Presentations from GDCE 2005. | 9/7/2005 | Performance
,
Architecture
,
Effects
,
Programming Techniques |   |
 |
 | GeForce 256 and RIVA TNT Combiners | How to best utilize the per-pixel operations using OpenGL on NVIDIA's graphics processors | 12/8/1999 | Architecture |   |
 |
 | GeForce 256 Overview | Summer Camp 99 | 11/12/1999 | Architecture |   |
 |
 | GeForce 256 Register Combiners | An overview of the powerful register combiners for texture operations on the GeForce 256 | 3/17/2000 | Architecture |   |
 |
 | GeForce3 Architecture Overview | This presentation covers the architecture and new features of GeForce3 for developers. | 8/10/2001 | Architecture |   |
 |
 | GeForce3 OpenGL Performance | This presentation covers all aspects of OpenGL performance with respect to GeForce3. | 3/6/2000 | Performance |   |
 |
 | GeForce 6 Series OpenGL Extensions | New OpenGL extensions for GeForce 6 Series GPUs, including NV_vertex_program3, NV_fragment_program2, floating-point filtering and blending, and more. | 7/9/2004 | Programming Techniques |   |
 |
 | GeForce 6 Series Technical Briefs | This collection of technical briefs explains the features of the GeForce 6 Series (NV4X) GPUs, including Shader Model 3.0, Ultrashadow II, Floating-Point Filtering and Blending, PCI Express, and more.
| 5/21/2004 | Architecture |   |
 |
 | General FAQ | A useful collection of frequently asked questions. | 10/24/2003 | Performance
,
Architecture
,
Effects
,
Programming Techniques |   |
 |
 | GL_Bump | A great demo of bump mapping in OpenGL sent in by Diego Tartara. Thanks! | 12/13/1999 | Effects
,
Programming Techniques |   |
 |
 | GPGPU: Beyond Graphics | New applications for the GPU as it grows more powerful.
| 3/23/2004 | Programming Techniques |   |
 |
 | GPU-Assisted Rendering Techniques | New rendering techniques that take advantage of Shader Model 3.0 features, as well as floating point filtering and blending. | 3/22/2004 | Effects
,
Programming Techniques |   |
 |
 | GPU BBQ 2004 | Presentations from GPU BBQ 2004 developer event. | 10/15/2003 | Performance
,
Architecture
,
Effects
,
Programming Techniques |   |
 |
 | GPU BBQ 2004 Presentations | Presentations from GPU BBQ 2004 | 9/9/2004 | Performance
,
Architecture
,
Effects
,
Programming Techniques |   |
 |
 | GPU Gems 2 | GPU Gems 2: Programming Techniques for High-Performance Graphics and General-Purpose Computation is hard bound, approximately 880 pages, and in full color throughout, with over 300 diagrams and screenshots. It was a 2005 Game Developer Magazine Front Line Award finalist in 2005, and was the best-selling book at GDC 2005. | 1/18/2004 | Art Assets
,
Architecture
,
Performance
,
Effects
,
Programming Techniques |   |
 |
 | GPU Gems Showcase | How to render atmopheric effects such as rainbows and fogbows, blood that crawls on surfaces and responds to gravity, and simulate water using the vertex texture fetch functionality in next-generation hardware.
| 3/24/2004 | Effects
,
Programming Techniques |   |
 |
 | GPU Jackpot 2004 Presentations | Presentations from GPU Jackpot 2004 | 11/2/2004 | Performance
,
Architecture
,
Effects
,
Programming Techniques |   |
 |
 | Graphics Performance Optimization | An overview of the graphics pipeline from a performance standpoint, as well as how to find and resolve performance bottlenecks. | 1/31/2004 | Performance |   |
 |
 | Guard Band Clipping | Guard Band Clipping Sim Dietrich GDC 99 | 11/3/1999 | Architecture
,
Programming Techniques |   |
 |
 | Guard Band Clipping | An efficient hardware feature to avoid a lot of CPU work. | 1/31/2000 | Architecture
,
Programming Techniques |   |
 |
 | Hardware Accelerated Anisotropic Lighting | Effects of satin cloth, brushed metal, and other anisotropic lighting effects are possible under OpenGL Mark Kilgard GDC 99 | 11/3/1999 | Effects |   |
 |
 | Hardware Bump-mapping Choices and Concepts | This presentation is an overview on the various choices involved in implementing hardware bump-mapping. | 6/7/2000 | Effects
,
Programming Techniques |   |
 |
 | Hardware Shadow Mapping | This white paper covers the details behind hardware shadow mapping with implementation details in OpenGL and Direct3D. | 12/5/2001 | Effects
,
Programming Techniques |   |
 |
 | Hardware Transform and Lighting | Summer Camp 99 | 11/12/1999 | Performance
,
Architecture |   |
 |
 | Hardware Transform and Lighting | A presentation from GDC2000 on using and optimizing for hardware transform and lighting. | 6/12/2000 | Performance
,
Architecture |   |
 |
 | Hello, Cg! Introductory Tutorial | This short whitepaper shows how to set up a simple Cg program, complete with source code in the style of the Cg toolkit. | 9/8/2003 | Programming Techniques |   |
 |
 | High Dynamic Range Rendering on the GeForce 6800 | How to implement high dynamic range, tone mapping, and post processing with GeForce 6 Series GPUs. | 7/9/2004 | Programming Techniques |   |
 |
 | Higher Order Surfaces | This presentation details the Higher Order Surface functionality and interface for GeForce3. | 3/6/2001 | Architecture
,
Programming Techniques |   |
 |
 | High Performance Direct3D | High Performance D3D Richard Huddy GDC 99 | 11/3/1999 | Performance |   |
 |
 | How to Bump Map a Skinned Polygonal Model | An update of the previous presentation from GDC. This one includes many new diagrams and images and additional information. | 6/7/2000 | Effects
,
Programming Techniques |   |
 |
 | I3D 2005 Presentations | Presentations from I3D 2005 (the ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games) | 4/11/2005 | Performance
,
Architecture
,
Effects
,
Programming Techniques |   |
 |
 | Implementation of "Missing" Vertex Shader Instructions | A white paper on some common operations which seem "missing" from the vertex shader instruction set, but can be implemented using various combinations of instructions. Includes cross products, cosine, sine, pow, and many more. | 12/11/2000 | Programming Techniques |   |
 |
 | Implementing Bump-Mapping using Register Combiners | This presentation covers using the register combiners to implement bump-mapping. | 8/10/2001 | Effects |   |
 |
 | Implementing Fog in Direct3D | All about fog and various fog functions. Has sample code. | 1/3/2000 | Effects |   |
 |
 | Implementing the Fixed-Function Pipeline using Cg | This example shows how to implement common fixed-function pipeline operations using Cg. | 2/27/2003 | Effects
,
Programming Techniques |   |
 |
 | Infinite Shadow Volumes | This demo implements the techniques described in the Practical and Robust Shadow Volumes paper. | 4/4/2002 | Effects |   |
 |
 | Interactive Order-Independent Transparency | This white paper covers a new technique for achieving order-independent transparency. Implementation details are provided for OpenGL. | 5/15/2001 | Effects |   |
 |
 | Introduction to 3D Graphics for Games | A quick high-level introduction to the world of 3D graphics and how GPUs work.
| 2/10/2004 | Programming Techniques |   |
 |
 | Introduction to DX8 Pixel Shaders | This presentation covers the differences between DX7-style texture stages and the new DX8 pixel shader pipeline. | 11/10/2000 | Architecture
,
Programming Techniques |   |
 |
 | Introduction to DX8 Vertex Shaders | This presentation covers the basics of vertex shaders including descriptions of every instruction and examples. | 11/10/2000 | Architecture
,
Programming Techniques |   |
 |
 | Introduction to Per-Pixel Lighting | This presentation covers the basics of per-pixel lighting including normal maps, texture space, and normalization cube maps. | 11/10/2000 | Effects |   |
 |
 | Introduction to Vertex Shaders | This white paper covers the basics of vertex shaders in DirectX8, along with how to achieve some interesting effects. | 5/15/2001 | Architecture
,
Programming Techniques |   |
 |
 | Iron Developer 2004 Presentations | Presentations from Iron Developer 2004 at CEDEC 2004 | 10/15/2003 | Performance
,
Architecture
,
Effects
,
Programming Techniques |   |
 |
 | Iron Developer 2005 Presentations | Presentations from Iron Developer 2005 at CEDEC 2005 | 9/7/2005 | Performance
,
Architecture
,
Effects
,
Programming Techniques |   |
 |
 | Japanese Presentations, June 2001 | These two archives contain all lecture and supplemental materials translated into Japanese for NVIDIA's June 2001 Japan Iron Chef developer workshop event. Special thanks go to Saito Michio and Silicon Studio, Japan, for the excellent translations and assistance for the event. | 6/27/2001 | Performance
,
Architecture
,
Effects
,
Programming Techniques |   |
 |
 | Mapping Texels to Pixels in D3D | The use of integral screen and texture coordinates yields ambiguous mappings between texels and pixels. | 4/25/2000 | Programming Techniques |   |
 |
 | Mathematics of Per-Pixel Lighting | This presentation covers the mathematics of per-pixel lighting. | 8/10/2001 | Effects
,
Programming Techniques |   |
 |
 | Maximizing OpenGL Performance | Getting the most out of the GeForce 256 and Quadro under OpenGL | 3/17/2000 | Performance |   |
 |
 | Maximizing Texture Performance | Maximizing Texture Performance Sim Dietrich GDC 99 | 11/3/1999 | Performance |   |
 |
 | Memory Management with VAR | This demo illustrates how to implement a simple memory manager for the GL_NV_vertex_array_ range and GL_NV_fence extensions. | 5/8/2002 | Performance
,
Programming Techniques |   |
 |
 | Mesh Skinning | These slides cover the principles of mesh skinning and the implementation using vertex programs. | 3/6/2001 | Effects |   |
 |
 | Mipmapping Normal Maps | This paper explores how to eliminate the common problem of strobing/sparkling noise due to aliasing of specular highlights. | 6/21/2004 | Programming Techniques
,
Effects |   |
 |
 | Modern Graphics Engine Design | Practical considerations for designing a modern graphics engine, using a case study approach.
| 9/6/2003 | Programming Techniques |   |
 |
 | Multitexture Combiners | Multitexture Combiners Michael Gold GDC 99 | 11/3/1999 | Architecture |   |
 |
 | Multi-Textured BRDF-based Lighting | This presentation covers multitextured BRDF (bi-directional reflectance distribution function) based lighting. | 3/6/2001 | Effects |   |
 |
 | Natural Phenomena | Natural Phenomena Michael Gold GDC 99 | 11/3/1999 | Effects |   |
 |
 | New NVIDIA OpenGL Extensions | New extensions that take advantage of "Shader Model 3.0" features, as well as floating point filtering and blending. | 3/23/2004 | Programming Techniques |   |
 |
 | Next-Gen Special Effects Showcase | How to render atmopheric effects such as rainbows and fogbows, blood that crawls on surfaces and responds to gravity, and simulate water using the vertex texture fetch functionality in next-generation hardware.
| 3/24/2004 | Effects |   |
 |
 | Non-Power-of-Two Mipmapping | How to create non-power-of-two mipmaps. | 4/29/2005 | Programming Techniques |   |
 |
 | Normalization Heuristics | This paper takes a detailed scientific approach to answer the question: "When is cube map normalization faster than the normalize function?" | 2/28/2004 | Programming Techniques |   |
 |
 | NVIDIA "CineFX" Architecture | | 7/21/2002 | Architecture |   |
 |
 | NVIDIA GPU Programming Guide | The NVIDIA GPU Programming Guide provides useful advice on how to identify bottlenecks in your applications, as well as how to eliminate them by taking advantage of the Quadro FX, GeForce 7 Series, GeForce 6 Series, and GeForce FX families' features. | 11/16/2004 | Architecture
,
Programming Techniques
,
Performance |   |
 |
 | NVIDIA OpenGL 2.0 Support | | 6/23/2005 | Programming Techniques |   |
 |
 | NVIDIA OpenGL Extension Specifications | This page lists the OpenGL extensions specifications that NVIDIA supports. | 8/18/2005 | Programming Techniques |   |
 |
 | NVIDIA OpenGL Texture Formats | Supported texture formats in OpenGL on NVIDIA GPUs. | 12/14/2004 | Programming Techniques |   |
 |
 | NVIDIA SLI | NVIDIA SLI main page. | 6/28/2004 | Performance
,
Architecture |   |
 |
 | NVPerfHUD | Learn about NVPerfHUD, a tool that helps you to monitor and analyze Direct3D application performance in real time. | 7/9/2004 | Performance
,
Programming Techniques |   |
 |
 | OpenGL 1.3 Features | This presentation covers the new features of OpenGL 1.3 | 8/10/2001 | Programming Techniques |   |
 |
 | OpenGL 2.0 Update | An update on the status of OpenGL 2.0 and several key extensions. | 3/23/2004 | Programming Techniques |   |
 |
 | OpenGL Extensions Tutorial | Tutorial on how to use OpenGL extensions. | 11/3/1999 | Programming Techniques |   |
 |
 | OpenGL Render To Depth Texture | This demo shows how to render to depth textures for shadow mapping in OpenGL through the WGL_ARB_render_ texture and WGL_NV_render_ depth_texture extensions. | 4/3/2002 | Programming Techniques |   |
 |
 | OpenGL Render To Texture | This demo shows the usage of render-to-texture in OpenGL through the WGL_ARB_render_ texture extension. | 4/3/2002 | Programming Techniques |   |
 |
 | OpenGL SDK Documentation | This includes powerpoint presentations and whitepapers on the OpenGL SDK. | 3/9/2001 | Performance
,
Effects
,
Programming Techniques |   |
 |
 | OpenGL Texture Compression/S3TC Tutorial | This GLUT example shows how to utilize ARB_texture_compression with EXT_ texture_ compression_ s3tc. | 5/22/2000 | Programming Techniques
,
Art Assets |   |
 |
 | OpenGL Vertex Programming | Covers vertex programming under OpenGL using the NV_vertex_program extension. | 3/6/2001 | Programming Techniques |   |
 |
 | OpenGL Vertex Programming Crib Sheet | This "crib sheet" is a handy reference for writing vertex programs. | 7/5/2001 | Programming Techniques |   |
 |
 | Optimization for DirectX 9 Graphics | Techniques to improve your GPU performance. | 3/22/2004 | Performance |   |
 |
 | Optimizing Direct3D for the GeForce 256 | Covers hardware T&L, vertex buffers, dynamic geometry, and other stuff. | 1/3/2000 | Performance |   |
 |
 | Optimizing for Hardware Transform and Lighting | A presentation given by Sim Dietrich at this year's Xtreme Game Developers Conference. | 10/9/2000 | Performance |   |
 |
 | Order-Independent Transparency | This presentation covers the technique for implementing order-independent transparency in hardware on GeForce3 in OpenGL. | 8/10/2001 | Effects |   |
 |
![]() | Other Web and Print Resources | List of various resources that can be found either on the web or in print. | 9/12/2000 | Programming Techniques |   |
 |
 | Perfect Kitchen Art 2005 Presentations | Presentations from Perfect Kitchen Art 2005 in Beijing, China. | 8/2/2005 | Performance
,
Architecture
,
Effects
,
Programming Techniques |   |
 |
 | Per-Pixel Lighting | The GeForce 256 is capable of some amazing per-pixel lighting effects and per-pixel bump mapping. Here's how! | 3/14/2000 | Effects |   |
 |
 | Phong Shading and Lightmaps | Phong Shading & Lightmaps Michael Gold GDC 99 | 11/3/1999 | Effects |   |
 |
 | Practical and Robust Shadow Volumes | This paper describes a robust, artifact-free method of rendering stenciled shadow volumes that eliminates the problem of shadow volume capping. Updated with a presentation from GDC. | 3/18/2002 | Effects |   |
 |
 | Practical Bump-mapping for Today’s GPUs | Per-Pixel lighting and bump mapping in real-time on the GeForce 256. | 3/17/2000 | Effects |   |
 |
 | Practical Performance Analysis and Tuning | An overview for performance tuning, including advice for current and future GPUs. | 3/24/2004 | Performance |   |
 |
 | Presentations | Recent presentations at developer events and conferences. | 2/18/2004 | Performance
,
Architecture
,
Effects
,
Programming Techniques
,
Art Assets |   |
 |
 | Presentations from 6800 Leagues Under the Sea | Presentations from 6800 Leagues Under the Sea | 7/9/2004 | Performance
,
Architecture
,
Effects
,
Programming Techniques |   |
 |
 | Procedural 3D Texturing | This demo shows solid texturing of an object using a procedurally generated 3D noise texture. | 9/14/2001 | Effects |   |
 |
 | Programmable Texture Blending | This presentation covers using programmable texture blending using register combiners. | 8/10/2001 | Effects |   |
 |
 | Projective Texture Mapping | This white paper covers the details of projective texture mapping, along with implementation notes in OpenGL. | 4/24/2001 | Effects
,
Programming Techniques |   |
 |
 | Projective Textures | Projective Textures Michael Gold GDC 99 | 11/3/1999 | Effects
,
Programming Techniques |   |
 |
![]() | Questions & Misconceptions About NVIDIA GPUs and Direct3D | This FAQ addresses some common questions about the GeForce 256 and Direct3D. | 1/12/2000 | Programming Techniques |   |
 |
 | Real-Time Animated Translucency | How to render convincing translucent effects in real-time. | 3/26/2004 | Effects |   |
 |
 | Real-time Environment Reflections with OpenGL | Real-time Environment Reflections with OpenGL | 11/3/1999 | Effects |   |
 |
 | Reflective Bump Mapping | This presentation covers implementing reflective bump mapping using texture shaders in OpenGL. | 8/10/2001 | Effects |   |
 |
![]() | RIVA 128/ZX/TNT FAQ | NVIDIA Corporation RIVA 128/ZX/TNT FAQ | 9/12/1999 | Programming Techniques |   |
 |
 | Scalability | Scalability Richard Huddy GDC 99 | 11/3/1999 | Programming Techniques |   |
 |
 | Shading at NVIDIA | A description of languages, workflow, programming tips, and more, given by Kurt Akeley. | 7/22/2003 | Programming Techniques |   |
 |
 | Shadow Considerations | Strategic considerations when using shadows to achieve optimal performance and image quality. | 7/9/2004 | Programming Techniques |   |
 |
 | Shadow Mapping | This presentation covers shadow mapping, with implementation details in OpenGL. | 8/10/2001 | Effects |   |
 |
 | Shadow Mapping with Today's OpenGL Hardware | Shadow Mapping is a powerfull technique for accurate environment and self-shadowing. | 3/17/2000 | Effects
,
Programming Techniques |   |
 |
 | Shadows, Transparency, & Fog | Overview of various techniques including uses for the stencil buffer | 3/17/2000 | Effects |   |
 |
 | SIGGRAPH 2001 -- A User Programmable Vertex Engine | This paper and presentation from SIGGRAPH 2001 by Erik Lindholm, Mark Kilgard, and Henry Moreton covers the implementation of a user programmable vertex engine. | 8/28/2001 | Architecture |   |
 |
 | SIGGRAPH 2002: Interactive Geometric Computations Using Graphics Hardware | | 7/22/2002 | Programming Techniques |   |
 |
 | SIGGRAPH 2002: NVIDIA Programmable Graphics Technology | | 7/21/2002 | Architecture |   |
 |
 | SIGGRAPH 2003 Presentations | Presentations from SIGGRAPH 2003 | 9/4/2003 | Performance
,
Architecture
,
Effects
,
Programming Techniques |   |
 |
 | SIGGRAPH 2004 Presentations | Presentations from SIGGRAPH 2003 | 8/18/2004 | Performance
,
Architecture
,
Effects
,
Programming Techniques |   |
 |
 | SIGGRAPH 2005 Presentations | Presentations from SIGGRAPH 2005 | 8/10/2005 | Performance
,
Architecture
,
Effects
,
Programming Techniques |   |
 |
 | Stencil Buffer Tutorial | Tutorial on rendering shadows and reflections with the stencil buffer. | 11/3/1999 | Programming Techniques |   |
 |
 | Technical Brief: 3D Graphics Demystified | A primer on 3D graphics. | 11/10/1999 | Programming Techniques |   |
 |
 | Technical Brief: AGP 4X with Fast Writes | Explains the benefits of AGP 4X with Fast Writes and describes how only the GeForce 256 takes advantage of this feature. | 11/10/1999 | Architecture |   |
 |
 | Technical Brief: Transform and Lighting | Covers the transform and lighting capabilities of the GeForce 256 GPU. | 11/10/1999 | Architecture |   |
 |
 | Technical Brief: What's New With Microsoft DirectX 7 | Highlights of new features in Microsoft DirectX 7 and how the GeForce 256 takes advantage of them. | 11/9/1999 | Architecture
,
Programming Techniques |   |
 |
 | TexGen & The Texture Matrix | TexGen and subsequent texture matrix manipulation is used for a variety of rendering effects like reflection, projective shadows, and toon rendering, You can use it for some great effects! | 3/15/2000 | Programming Techniques |   |
 |
 | Texture Addressing | Filtering and HUDs got you down? Maybe this will help. | 1/6/2000 | Programming Techniques |   |
 |
 | Texture Coordinate Generation | Basic coverage of GLTexGenfv & GLTexGeni under OpenGL Michael Gold | 11/3/1999 | Programming Techniques |   |
 |
 | Texture Management | Texture Management Michael Gold GDC 99 | 11/3/1999 | Programming Techniques |   |
 |
 | Texture Shader Configuration Using NVPARSE | This presentation covers how to use nvparse to setup texture shader programs in OpenGL. | 7/19/2001 | Programming Techniques |   |
 |
 | Texture Shaders | This presentation covers texture shaders in OpenGL. | 8/10/2001 | Architecture |   |
 |
 | Texture Shaders | This presentation covers using texture shaders in OpenGL. | 3/12/2001 | Programming Techniques |   |
 |
 | Texture Space Bump Mapping | A presentation covering Texture Space Bump Mapping, a fundamental concept in per-pixel bump mapping. | 11/10/2000 | Effects |   |
 |
 | The ARB_multitexture Extension | The ARB_multitexture Extension Michael Gold GDC 99 | 11/3/1999 | Programming Techniques |   |
 |
 | The Cg Tutorial: The Definitive Guide to Programmable Real-Time Graphics | The Cg Tutorial: The Definitive Guide to Programmable Real-Time Graphics is a great way to learn about the modern 3D graphics pipeline, shading languages, and the Cg language in particular. This page includes purchasing information, online versions of the book's CD content, supplementary content, and more. | 3/11/2003 | Programming Techniques
,
Architecture
,
Performance
,
Effects |   |
 |
 | The Cg Tutorial Book | The Cg Tutorial, published in March 2003, explains how to implement both basic and advanced techniques for today's programmable GPU architectures. | 12/20/2002 | Performance
,
Architecture
,
Effects
,
Programming Techniques |   |
 |
 | The Efficient Use of Vertex Buffers | This paper discusses vertex buffer performance issues in-depth and covers common problems along with their solutions. | 11/1/2000 | Performance
,
Programming Techniques |   |
 |
 | The OpenGL Shading Language on NVIDIA Hardware | An overview of NVIDIA's OpenGL Shading Language support, as well as several useful supplementary features.
| 3/23/2004 | Programming Techniques |   |
 |
 | Tools & Developer Resources | NVIDIA provides a lot more than great hardware! This presentation outlines the resources we provide to software developers. | 3/14/2000 | Programming Techniques |   |
 |
 | Toon Shading | The GeForce 256's powerfull hardware features can be combined to produce some amazing non-traditional rendering effects. This cartoon effect can be done completely in hardware. | 3/15/2000 | Effects |   |
 |
 | Top 5 Things That Kill Performance Under DX7 | This document covers five common mistakes and pitfalls that kill performance under DX7. | 6/26/2000 | Performance |   |
 |
 | Using P-Buffers for Off-Screen Rendering in OpenGL | This white paper covers rendering to off-screen pixel buffers in OpenGL. | 8/9/2001 | Effects
,
Programming Techniques |   |
 |
 | Using texture compression in OpenGL | This article teaches how to use the ARB_texture_compression and EXT_texture_ compression_s3tc extensions. | 5/22/2000 | Programming Techniques |   |
 |
 | Using the Stencil Buffer | Stencil Buffer Sim Dietrich GDC 99 | 11/3/1999 | Effects
,
Programming Techniques |   |
 |
 | Using Vertex Array Range and Fences | This paper describes the use of the vertex array range and fence OpenGL extensions on GeForce based GPUs. This technique yields much improved geometry performance. | 8/1/2001 | Performance |   |
 |
 | Using Vertex Buffer Objects | This whitepaper explains what vertex buffer objects (VBOs) are, and how to use them. | 2/27/2004 | Programming Techniques |   |
 |
 | VAR/Fence: Using Vertex Array Range and Fences | This presentation details the vertex array range and fence extensions, which are necessary to obtain maximum performance on NVIDIA GPUs. | 3/6/2001 | Performance
,
Programming Techniques |   |
 |
 | Vertex Blending | Summer Camp 99 | 11/12/1999 | Effects |   |
 |
 | Vertex Blending Under DX7 for the GeForce 256 | Vertex blending is a step beyond basic interconnected rigid bodies and is good for animation. | 1/5/2000 | Effects
,
Programming Techniques |   |
 |
 | Vertex Buffers | A presentation from GDC2000 on vertex buffers. | 6/12/2000 | Programming Techniques |   |
 |
 | Vertex Cache Optimization | Summer Camp 99 | 11/12/1999 | Performance
,
Architecture |   |
 |
 | Vertex Program Modules | Covers a number of interesting and non-obvious operations using vertex programs like cross products, LUTs, and even the Mandelbrot set! | 11/3/2000 | Effects |   |
 |
 | Vertex Programs | This presentation covers vertex programming in-depth, with implementation details in OpenGL. | 8/10/2001 | Architecture |   |
 |
 | Vertex Programs for the Fixed Function Pipeline | This presentation shows how to implement the fixed function pipeline in a vertex program. | 11/3/2000 | Effects |   |
 |
 | Vertex Shader API Differences | This presentation details the differences between DirectX 8 Vertex Shaders and OpenGL Vertex Programs. | 3/6/2001 | Programming Techniques |   |
 |
 | Vertex Texture Fetch | Vertex texture fetch allows vertex shaders to read data from textures, and can be used for a number of effects, including displacement mapping, fluid and water simulation, explosions, and more. | 8/25/2004 | Architecture
,
Effects
,
Programming Techniques |   |
 |
 | Volumetric Explosions | This technique is a step beyond bilboarding, and goes along with the demo. | 1/11/2000 | Effects |   |
 |
 | W-Buffering in Direct3D | W-buffering is an alternative to Z-buffering and can be used when Z-buffering produces artifacts. | 1/3/2000 | Programming Techniques |   |
 |
 | XGDX 2003 Presentations | Presentations from XGDX 2003 | 10/8/2003 | Performance
,
Programming Techniques |   |
 |
 | Z Buffering | Discussion of the technique and comparison to W buffering. | 1/31/2000 | Programming Techniques |   |