Home    General Programming    Artificial Intelligence    Math    Physics    Graphics    Networking    Audio Programming    
Audio/Visual Design    Game Design    Production    Business of Games    Game Studies    Conferences    Schools    Contact   
Particle Systems
2D / Billboards
Lighting
Shadows
Texturing
Shaders
Terrain
Camera
Animation / Skinning
Facial Animation
Visibility / Occlusion
Surfaces
Polygonal Math
Collision Detection
Level of Detail
Screenshots
Scene Management
GPU Computation
Direct3D
OpenGL
Effects: Weather
Effects: Lens Flare
Effects: Destruction
Effects: Pyrotechnics
Effects: Adv Materials
Effects: HDR
Effects: Post Process
Effects: Depth of Field
Effects: Refraction
All Articles
Game Programming Gems
Game Programming Gems 2
Game Programming Gems 3
Game Programming Gems 4
Game Programming Gems 5
Game Programming Gems 6
Game Programming Gems 7
AI Game Programming Wisdom
AI Game Programming Wisdom 2
AI Game Programming Wisdom 3
AI Game Programming Wisdom 4
GPU Gems
GPU Gems 2
GPU Gems 3
ShaderX
ShaderX2
ShaderX3
ShaderX4
ShaderX5
Massively Multiplayer Game Development
Massively Multiplayer Game Development 2
Secrets of the Game Business
Introduction to Game Development
GDC Proceedings
Game Developer Magazine
Gamasutra


Graphics: All Articles


Generating Complex Procedural Terrains Using the GPU

Ryan Geiss (NVIDIA Corporation)
GPU Gems 3, 2007.

Animated Crowd Rendering

Bryan Dudash (NVIDIA Corporation)
GPU Gems 3, 2007.

DirectX 10 Blend Shapes: Breaking the Limits

Tristan Lorach (NVIDIA Corporation)
GPU Gems 3, 2007.

Next-Generation SpeedTree Rendering

Alexander Kharlamov, Iain Cantlay, Yury Stepanenko (NVIDIA Corporation)
GPU Gems 3, 2007.

Generic Adaptive Mesh Refinement

Tamy Boubekeur, Christophe Schlick (University of Bordeaux)
GPU Gems 3, 2007.

GPU-Generated Procedural Wind Animations for Trees

Renaldas Zioma (Electronic Arts/Digital Illusions CE)
GPU Gems 3, 2007.

Point-Based Visualization of Metaballs on a GPU

Kees van Kooten, Gino van den Bergen (Playlogic Game Factory), Alex Telea (Eindhoven University of Technology)
GPU Gems 3, 2007.

Summed-Area Variance Shadow Maps

Andrew Lauritzen (University of Waterloo)
GPU Gems 3, 2007.

Interactive Cinematic Relighting with Global Illumination

Fabio Pellacini (Dartmouth College), Milos Hasan, Kavita Bala (Cornell University)
GPU Gems 3, 2007.

Parallel-Split Shadow Maps on Programmable GPUs

Fan Zhang, Hanqiu Sun (The Chinese University of Hong Kong), Oskari Nyman (Helsinki University of Technology)
GPU Gems 3, 2007.

Efficient and Robust Shadow Volumes Using Hierarchical Occlusion Culling and Geometry Shaders

Martin Stich (Mental Images), Carsten Wächter, Alexander Keller (Ulm University)
GPU Gems 3, 2007.

High-Quality Ambient Occlusion

Jared Hoberock, Yuntao Jia (University of Illinois at Urbana-Champaign)
GPU Gems 3, 2007.

Volumetric Light Scattering as a Post-Process

Kenny Mitchell (Electronic Arts)
GPU Gems 3, 2007.

Advanced Techniques for Realistic Real-Time Skin Rendering

Eugene d'Eon, David Luebke (NVIDIA Corporation)
GPU Gems 3, 2007.

Playable Universal Capture

George Borshukov, Jefferson Montgomery, John Hable (Electronic Arts)
GPU Gems 3, 2007.

Vegetation Procedural Animation and Shading in Crysis

Tiago Sousa (Crytek)
GPU Gems 3, 2007.

Robust Multiple Specular Reflections and Refractions

Tamás Umenhoffer, BLászló Szirmay-Kalos (Budapest University of Technology and Economics), Gustavo Patow (University of Girona)
GPU Gems 3, 2007.

Relaxed Cone Stepping for Relief Mapping

Fabio Policarpo (Perpetual Entertainment), Manuel M. Oliveira (Instituto de Informática-UFRGS)
GPU Gems 3, 2007.

Deferred Shading in Tabula Rasa

Rusty Koonce (NCsoft Corporation)
GPU Gems 3, 2007.

GPU-Based Importance Sampling

Mark Colbert (University of Central Florida), Jaroslav Kr¡ivánek (Czech Technical University in Prague)
GPU Gems 3, 2007.

True Impostors

Eric Risser (University of Central Florida)
GPU Gems 3, 2007.

Baking Normal Maps on the GPU

Diogo Teixeira (Move Interactive)
GPU Gems 3, 2007.

High-Speed, Off-Screen Particles

Iain Cantlay (NVIDIA Corporation)
GPU Gems 3, 2007.

The Importance of Being Linear

Larry Gritz, Eugene d'Eon (NVIDIA Corporation)
GPU Gems 3, 2007.

Rendering Vector Art on the GPU

Charles Loop, Jim Blinn (Microsoft Research)
GPU Gems 3, 2007.

Object Detection by Color: Using the GPU for Real-Time Video Image Processing

Ralph Brunner, Frank Doepke, Bunny Laden (Apple)
GPU Gems 3, 2007.

Motion Blur as a Post-Processing Effect

Gilberto Rosado (Rainbow Studios)
GPU Gems 3, 2007.

Practical Post-Process Depth of Field

Earl Hammon, Jr. (Infinity Ward)
GPU Gems 3, 2007.

Real-Time Rigid Body Simulation on GPUs

Takahiro Harada (University of Tokyo)
GPU Gems 3, 2007.

Real-Time Simulation and Rendering of 3D Fluids

Keenan Crane (University of Illinois at Urbana-Champaign), Ignacio Llamas, Sarah Tariq (NVIDIA Corporation)
GPU Gems 3, 2007.

Fast N-Body Simulation with CUDA

Lars Nyland, Mark Harris (NVIDIA Corporation), Jan Prins (University of North Carolina at Chapel Hill)
GPU Gems 3, 2007.

Broad-Phase Collision Detection with CUDA

Scott Le Grand (NVIDIA Corporation)
GPU Gems 3, 2007.

LCP Algorithms for Collision Detection Using CUDA

Peter Kipfer (Havok)
GPU Gems 3, 2007.

Signed Distance Fields Using Single-Pass GPU Scan Conversion of Tetrahedra

Kenny Erleben (University of Copenhagen), Henrik Dohlmann (3Dfacto R&D)
GPU Gems 3, 2007.

Fast Virus Signature Matching on the GPU

Elizabeth Seamans (Juniper Networks), Thomas Alexander (Polytime)
GPU Gems 3, 2007.

AES Encryption and Decryption on the GPU

Takeshi Yamanouchi,(SEGA Corporation)
GPU Gems 3, 2007.

Efficient Random Number Generation and Application Using CUDA

Lee Howes, David Thomas (Imperial College London)
GPU Gems 3, 2007.

Imaging Earth's Subsurface Using CUDA

Bernard Deschizeaux, Jean-Yves Blanc (CGGVeritas)
GPU Gems 3, 2007.

Parallel Prefix Sum (Scan) with CUDA

Mark Harris (NVIDIA Corporation)
GPU Gems 3, 2007.

Incremental Computation of the Gaussian

Ken Turkowski (Adobe Systems)
GPU Gems 3, 2007.

Using the Geometry Shader for Compact and Variable-Length GPU Feedback

Franck Diard (NVIDIA Corporation)
GPU Gems 3, 2007.

Smoothed N-Patches

Holger Gruen
ShaderX5, 2006.

Micro-beveled Edges

Homam Bahnassi and Wessam Bahnassi
ShaderX5, 2006.

Dynamic Wrinkle Patterns and Hatching on Animated Meshes

Jörn Loviscach
ShaderX5, 2006.

Cloth without Cloth

Homam Bahnassi and Wessam Bahnassi
ShaderX5, 2006.

A Simple Area Light Model for GPUs

Aick in der Au
ShaderX5, 2006.

Alpha-to-Coverage in Depth

Kevin Myers
ShaderX5, 2006.

Practical Parallax Occlusion Mapping with Approximate Soft Shadows for Detailed Surface Rendering

Natalya Tatarchuk
ShaderX5, 2006.

Preprocessing of Complex, Static Scenes for Fast Real-time Graphics

Max Dennis Luesebrink and Kurt Pelzer
ShaderX5, 2006.

Overcoming Deferred Shading Drawbacks

Frank Puig Placeres
ShaderX5, 2006.

Normal Mapping without Precomputed Tangents

Christian Schüler
ShaderX5, 2006.

Animating Vegetation Using GPU Programs

Ali Botorabi
ShaderX5, 2006.

ZT-Buffer Algorithm

David Pangerl
ShaderX5, 2006.

Real-time Depth-of-Field Implemented with a Postprocessing-Only Technique

David Gillham
ShaderX5, 2006.

Selective Supersampling

Emil Persson
ShaderX5, 2006.

Jump Flooding: An Efficient and Effective Communication Pattern for Use on GPUs

Guodong Rong and Tiow-Seng Tan
ShaderX5, 2006.

Cascaded Shadow Maps

Wolfgang Engel
ShaderX5, 2006.

Multisampling Extension for Gradient Shadow Maps

Christian Schüler
ShaderX5, 2006.

Alias-Free Hard Shadows with Geometry Maps

László Szécsi
ShaderX5, 2006.

Edge Masking and Per-Texel Depth Extent Propagation For Computation Culling During Shadow Mapping

John R. Isidoro
ShaderX5, 2006.

Queried Virtual Shadow Maps

Markus Giegl and Michael Wimmer
ShaderX5, 2006.

Real-time Soft Shadows with Shadow Accumulation

László Szirmay-Kalos and Barnabás Aszódi
ShaderX5, 2006.

Spherical Billboards for Rendering Volumetric Data

Tamás Umenhoffer, László Szirmay-Kalos and Gábor Szíjártó
ShaderX5, 2006.

Per-Pixel Lit, Light Scattering Smoke

Aurelio Reis
ShaderX5, 2006.

Volumetric Clouds and Mega-Particles

Homam Bahnassi and Wessam Bahnassi
ShaderX5, 2006.

Rendering Multiple Layers of Rain with a Postprocessing Composite Effect

Natalya Tatarchuk
ShaderX5, 2006.

Animation and Rendering of Underwater God Rays

Stefano Lanza
ShaderX5, 2006.

Irradiance Volumes for Real-time Rendering

Chris Oat
ShaderX5, 2006.

Indirect Diffuse and Glossy Illumination on the GPU

István Lazányi and László Szirmay-Kalos
ShaderX5, 2006.

Interactive Refractions and Caustics Using Image-Space Techniques

Chris Wyman
ShaderX5, 2006.

Splatting of Diffuse and Glossy Indirect Illumination

Carsten Dachsbacher and Marc Stamminger
ShaderX5, 2006.

OpenGL ES 2.0: Shaders for Mobile Devices

Kristof Beets
ShaderX5, 2006.

Developing a 3D Engine for OpenGL ES v2.0 and OpenGL v2.0

Dan Ginsburg
ShaderX5, 2006.

OpenGL ES 2.0 Performance Recommendations for Mobile Devices

Kristof Beets
ShaderX5, 2006.

Real-time Tile-Based Texture Synthesis Using Nonregular Grids

Georg Kolling
ShaderX5, 2006.

Cartoon Fire Effects Using OpenGL ES 2.0

David Minor
ShaderX5, 2006.

Postprocessing Effects in Design

Aurelio Reis
ShaderX5, 2006.

Transparent Shader Data Binding

Dustin Franklin
ShaderX5, 2006.

Designing Plug-in Shaders with HLSL

Wessam Bahnassi
ShaderX5, 2006.

Shader System Integration: Nebula2 and 3ds Max

Kim Hyoun Woo
ShaderX5, 2006.

Large Crowds of Autonomous Animated Characters Using Fragment Shaders and Level of Detail

Erik Millán, Benjamín Hernández, and Isaac Rudomín
ShaderX5, 2006.

Interactive Image Segmentation Based on GPU Cellular Automata

Frank Nielsen
ShaderX5, 2006.

Real-time Cellular Texturing

Andrew Griffiths
ShaderX5, 2006.

Collision Detection Shader Using Cube-Maps

Rahul Sathe
ShaderX5, 2006.

A GPU Panorama Viewer for Generic Camera Models

Frank Nielsen
ShaderX5, 2006.

Explicit Early-Z Culling for Efficient Fluid Flow Simulation

Pedro V. Sander, Natalya Tatarchuk, and Jason L. Mitchell
ShaderX5, 2006.

Storing and Accessing Topology on the GPU: A Case Study on Mass-Spring Systems

Carlos A. Dietrich, João L. D. Comba, and Luciana P. Nedel
ShaderX5, 2006.

Implementing High-Quality PRNG on GPUs

Wai-Man Pang, Tien-Tsin Wong, and Pheng-Ann Heng
ShaderX5, 2006.

Print Shader for Debugging Pixel Shaders

Alexander Ehrath
ShaderX5, 2006.

Better Geometry Batching Using Light Buffers

Renaldas Zioma
ShaderX4, 2006.

Practical Cloth Simulation on Modern GPUs

Cyril Zeller
ShaderX4, 2006.

Shader Implementation of Discrete Wavelet Transform

Tien-Tsin Wong and Chi-Sing Leung
ShaderX4, 2006.

Morph Target Animation Using DirectXMorph

Christian Kleinhuis
ShaderX4, 2006.

Real-Time Character Animation on the GPU

Michael Nischt and Elisabeth André
ShaderX4, 2006.

AntiTextures

Wessam Bahnassi
ShaderX4, 2006.

Interlaced Rendering

Oles V. Shishkovtsov
ShaderX4, 2006.

Triangle Mesh Tangent Space Calculation

Martin Mittring
ShaderX4, 2006.

Hardware-Based Ambient Occlusion

Dustin Franklin
ShaderX4, 2006.

Ambient Occlusion Fields

Janne Kontkanen and Samuli Laine
ShaderX4, 2006.

Rendering Surface Details in Games with Relief Mapping Using a Minimally Invasive Approach

Fábio Policarpo and Manuel M. Oliveira
ShaderX4, 2006.

Real-Time Obscurances with Color Bleeding

Alex Méndez-Feliu, Mateu Sbert, Jordi Catà, Nicolau Sunyer, and Sergi Funtané
ShaderX4, 2006.

Bump My Shiny Metal

Andrew Aksyonoff
ShaderX4, 2006.

Ray-Traced Fog Volumes

Holger Grün and Marco Spoerl
ShaderX4, 2006.

Dynamic Global Illumination Using Tetrahedron Environment Mapping

Imagire Takashi
ShaderX4, 2006.

Real-Time Rendering and Simulation of the Airbrush Medium for Metallic Appearance

Joachim Diepstraten and Tibor Schütz
ShaderX4, 2006.

Dynamic Glossy Environment Reflections Using Summed-Area Tables

Justin Hensley and Thorsten Scheuermann
ShaderX4, 2006.

Real-Time Caustics by GPU

Masahiko Nitanda
ShaderX4, 2006.

Dot-Product for Efficient Detail Texture Mapping

Renaldas Zioma
ShaderX4, 2006.

Real-Time Environment Mapping with Equal Solid-Angle Spherical Quad-Map

Tien-Tsin Wong, Liang Wan, Chi-Sing Leung, and Ping-Man Lam
ShaderX4, 2006.

I3: Interactive Indirect Illumination

Carsten Dachsbacher and Marc Stamminger
ShaderX4, 2006.

Texture Compression with Coefficient Domain Shaders

Chi-Sing Leung, Ping-Man Lam and Tien-Tsin Wong
ShaderX4, 2006.

Motion Blurring Environment Maps

Jason Mitchell
ShaderX4, 2006.

Simulating the Visual Effects of a Video Recording System

Joachim Diepstraten
ShaderX4, 2006.

Soft Projected Shadows

Aras Pranckevic¡ius
ShaderX4, 2006.

Eliminate Surface Acne with Gradient Shadow Mapping

Christian Schüler
ShaderX4, 2006.

Real-Time Soft Shadows Using the PDSM Technique

Jean-François St. Amour, Eric Paquette, Pierre Poulin, Philippe Beaudoin
ShaderX4, 2006.

Robust Shadow Mapping with Light-Space Perspective Shadow Maps

Michael Wimmer and Daniel Scherzer
ShaderX4, 2006.

Making Shadow Buffers Robust Using Multiple Dynamic Frustums

Tom Forsyth
ShaderX4, 2006.

Tips and Tricks for D3DX Effects Based Renderer

Aras Pranckevic¡ius
ShaderX4, 2006.

Post-Processing Effects Scripting

Gilberto Rosado
ShaderX4, 2006.

Case Study: Designing a Shader Subsystem for a Next-Gen Graphics Engine

Wolfgang Engel
ShaderX4, 2006.

Real-Time Damage Deformation Methods

Vlad Stamate
ShaderX4, 2006.

Ray Tracing Effects without Tracing Rays

László Szirmay-Kalos, Barnabás Aszódi, and István Lazányi
ShaderX4, 2006.

Implementing Ray Tracing on the GPU

Martin Christen
ShaderX4, 2006.

GPU-Powered Pathfinding Using Preprocessed Navigation Mesh Approach

Renaldas Zioma
ShaderX4, 2006.

Winter Wonderland

Bryan Dudash
ShaderX4, 2006.

Rendering Snow Cover

Gilberto Rosado
ShaderX4, 2006.

Cached Procedural Textures for Terrain Rendering

Carsten Dachsbacher and Marc Stamminger
ShaderX4, 2006.

True-to-Life Real-Time Animation of Shallow Water on Today’s GPUs

Yung-feng Chi
ShaderX4, 2006.

The SuperShader

Morgan McGuire
ShaderX4, 2006.

Implementing Radiosity for a Light Map Precomputation Tool

Florian Born
ShaderX4, 2006.

Indicator Materials

Kurt Pelzer
ShaderX4, 2006.

Dynamic Branching on Non-PS3.0 Hardware

Emil Persson
ShaderX4, 2006.

GLSL Shader Debugging with GLIntercept

Damian Trebilco
ShaderX4, 2006.

GPU Performance of DirectX 9 Per-Fragment Operations Revisited

Mike EiBelle
ShaderX4, 2006.

Preprocessed Pathfinding Using the GPU

Renaldas Zioma (Digital Illusions Canada Inc.)
AI Game Programming Wisdom 3, 2006.
Abstract: This article proposes GPU-based implementations for two popular algorithms used to solve the all-pairs shortest paths problem: Dijkstra's algorithm, and the Floyd-Warshall algorithm. These algorithms are used to preprocess navigation mesh data for fast pathfinding. This approach can offload pathfinding-related CPU computations to the GPU at the expense of latency. However, once the solution table is generated, this approach minimizes the latency time for a specific path search, thus giving the game a better sense of interactivity. The biggest benefit of this approach is gained in systems with multiple agents simultaneously requesting paths in the same search space. Although the article describes a GPU-specific implementation for a navigation mesh, any other multi-processor environment or discrete search space representation can be used.

Fast and Accurate Gesture Recognition for Character Control

Markus Wöß (Foolscap Vienna)
AI Game Programming Wisdom 3, 2006.
Abstract: This article describes a simple, yet fast and accurate, way of gesture recognition that we have used in Punch'n'Crunch, a gesture-based fun-boxing game. The presented system is a very interesting way to control characters, but can also be used to recognize letters, numbers, and other arbitrary symbols. Gestures allow a more natural way for triggering a multitude of different commands.

GPU Computation in Projective Space Using Homogeneous Coordinates

Vaclav Skala (University of West Bohemia)
Game Programming Gems 6, 2006.

BSP Techniques

Octavian Marius Chincisan
Game Programming Gems 6, 2006.

Synthesis of Realistic Idle Motion for Interactive Characters

Arjan Egges, Thomas Di Giacomo, and Nadia Magnenat-Thalmann (MIRALab, University of Geneva)
Game Programming Gems 6, 2006.

Spatial Partitioning Using an Adaptive Binary Tree

Martin Fleisz
Game Programming Gems 6, 2006.

Enhanced Object Culling with (Almost) Oriented Bounding Boxes

Ben St. John (Siemens)
Game Programming Gems 6, 2006.

Skin Splitting for Optimal Rendering

Dominic Filion
Game Programming Gems 6, 2006.

GPU Terrain Rendering

Harald Vistnes
Game Programming Gems 6, 2006.

Interactive Fluid Dynamics and Rendering on the GPU

Frank Luna
Game Programming Gems 6, 2006.

Fast Per-Pixel Lighting with Many Lights

Frank Puig Placeres (University of Informatic Sciences, Cuba)
Game Programming Gems 6, 2006.

Rendering Road Signs Sharply

Jörn Loviscach and Hochschule Bremen (University of Applied Sciences)
Game Programming Gems 6, 2006.

Practical Sky Rendering for Games

Aurelio Reis (Raven Software)
Game Programming Gems 6, 2006.

High Dynamic Range Rendering Using OpenGL Frame Buffer Objects

Allen Sherrod (Ultimate Game Programming)
Game Programming Gems 6, 2006.

Realistic Cloud Rendering on Modern GPUs

Jean-Francois Dube (Ubisoft)
Game Programming Gems 5, 2005.

Let It Snow, Let It Snow, Let It Snow (and Rain)

Niniane Wang (Google), Bretton Wade (Microsoft)
Game Programming Gems 5, 2005.

Widgets: Rendering Fast and Persistent Foliage

Martin Brownlow
Game Programming Gems 5, 2005.

2.5 Dimensional Impostors for Realistic Trees and Forrests

Gabor Szijarto (Technical University of Budapest)
Game Programming Gems 5, 2005.

Gridless Controllable Fire

Neeharika Adabala, Charles Hughes (University of Central Florida)
Game Programming Gems 5, 2005.

Powerful Explosion Effects Using Billboard Particles

Steve Rabin (Nintendo of America Inc)
Game Programming Gems 5, 2005.

A Simple Method for Rendering Gemstones

Thorsten Scheuermann (ATI Research)
Game Programming Gems 5, 2005.

Volumetric Post-Processing

Dominic Filion (Artificial Mind & Movement), Syvain Boisse (Motorola)
Game Programming Gems 5, 2005.

Procedural Level Generation

Timothy Roden and Ian Parberry (University of North Texas)
Game Programming Gems 5, 2005.

Recombinant Shaders

Dominic Filion (Artificial Mind & Movement)
Game Programming Gems 5, 2005.

Towards Photorealism in Virtual Botany

David Whatley (Simutronics Corporation)
GPU Gems 2, 2005.

Terrain Rendering using GPU-Based Geometry Clipmaps

Arul Asirvatham and Hugues Hoppe (Microsoft Research)
GPU Gems 2, 2005.

Inside Geometry Instancing

Francesco Carucci (Lionhead Studios)
GPU Gems 2, 2005.

Segment Buffering

Jon Olick (2015)
GPU Gems 2, 2005.

Optimizing Resource Management with Multi-Streaming

Kurt Pelzer and Oliver Hoeller (Piranha Bytes)
GPU Gems 2, 2005.

Hardware Occlusion Queries Made Useful

Michael Wimmer and Jiri Bittner (Vienna University of Technology)
GPU Gems 2, 2005.

Adaptive Tessellation of Subdivision Surfaces with Displacement Mapping

Michael Bunnell (NVIDIA Corporation)
GPU Gems 2, 2005.

Per-Pixel Displacement Mapping with Distance Functions

William Donnelly (University of Waterloo)
GPU Gems 2, 2005.

Deferred Shading in STALKER

Oles Shishkovtsov (GSC Game World)
GPU Gems 2, 2005.

Real-Time Computation of Dynamic Irradiance Environment Maps

Gary King (NVIDIA Corporation)
GPU Gems 2, 2005.

Approximate Bidirectional Texture Functions

Jan Kautz (Massachusetts Institute of Technology)
GPU Gems 2, 2005.

Tile-Based Texture Mapping

Li-Yi Wei (NVIDIA Corporation)
GPU Gems 2, 2005.

Implementing the Mental Images Phenomena Renderer on the GPU

Martin-Karl Lefrançois (mental images)
GPU Gems 2, 2005.

Dynamic Ambient Occlusion and Indirect Lighting

Michael Bunnell (NVIDIA Corporation)
GPU Gems 2, 2005.

Blueprint Rendering and "Sketchy Drawings"

Marc Nienhaus and Jürgen Döllner (University of Potsdam)
GPU Gems 2, 2005.

Accurate Atmospheric Scattering

Sean O'Neil
GPU Gems 2, 2005.

Efficient Soft-Edged Shadows Using Pixel Shader Branching

Yury Uralsky (NVIDIA Corporation)
GPU Gems 2, 2005.

Using Vertex Texture Displacement for Realistic Water Rendering

Yuri Kryachko (1C: Maddox Games)
GPU Gems 2, 2005.

Generic Refraction Simulation

Tiago Sousa (Crytek)
GPU Gems 2, 2005.

Fast Third-Order Texture Filtering

Christian Sigg (ETH Zurich) and Markus Hadwiger (VRVis Research Center)
GPU Gems 2, 2005.

High Quality Antialiased Rasterization

Dan Wexler and Eric Enderton (NVIDIA Corporation)
GPU Gems 2, 2005.

Fast Prefiltered Lines

Eric Chan and Frédo Durand (Massachusetts Institute of Technology)
GPU Gems 2, 2005.

Hair Animation and Rendering in the Nalu Demo

Hubert Nguyen and William Donnelly (NVIDIA Corporation)
GPU Gems 2, 2005.

Using Lookup Tables to Accelerate Color Transformations

Jeremy Selan (Sony Pictures Imageworks)
GPU Gems 2, 2005.

GPU Image Processing in Apple's Motion

Pete Warden (Apple)
GPU Gems 2, 2005.

Implementing Improved Perlin Noise

Simon Green (NVIDIA Corporation)
GPU Gems 2, 2005.

Advanced High-Quality Filtering

Justin Novosad (discreet)
GPU Gems 2, 2005.

Mipmap Level Measurement

Iain Cantlay (Climax Entertainment)
GPU Gems 2, 2005.

Streaming Architectures and Technology Trends

John Owens (University of California, Davis)
GPU Gems 2, 2005.

The GeForce 6 Series GPU Architecture

Emmett Kilgariff and Randima Fernando (NVIDIA Corporation)
GPU Gems 2, 2005.

Mapping Computational Concepts to GPUs

Mark Harris (NVIDIA Corporation)
GPU Gems 2, 2005.

GPU Computation Strategies and Tips

Ian Buck (Stanford University)
GPU Gems 2, 2005.

Implementing Efficient Parallel Data Structures on GPUs

Aaron Lefohn (University of California, Davis), Joe Kniss (University of Utah), John Owens (University of California, Davis)
GPU Gems 2, 2005.

GPU Flow Control Idioms

Mark Harris (NVIDIA Corporation) and Ian Buck (Stanford University)
GPU Gems 2, 2005.

GPU Program Optimization

Cliff Woolley (University of Virginia)
GPU Gems 2, 2005.

Stream Reduction Operations for GPGPU Applications

Daniel Horn (Stanford University)
GPU Gems 2, 2005.

Octree Textures on the GPU

Sylvain Lefebvre, Samuel Hornus, and Fabrice Neyret (GRAVIR/IMAG - INRIA)
GPU Gems 2, 2005.

High-Quality Global Illumination Rendering Using Rasterization

Toshiya Hachisuka (The University of Tokyo)
GPU Gems 2, 2005.

Global Illumination using Progressive Refinement Radiosity

Greg Coombe (University of North Carolina at Chapel Hill) and Mark Harris (NVIDIA Corporation)
GPU Gems 2, 2005.

Computer Vision on the GPU

James Fung (University of Toronto)
GPU Gems 2, 2005.

Deferred Filtering: Rendering from Difficult Data Formats

Joe Kniss (University of Utah), Aaron Lefohn, and Nathaniel Fout (University of California, Davis)
GPU Gems 2, 2005.

Conservative Rasterization

Jon Hasselgren, Tomas Akenine-Möller, and Lennart Ohlsson (Lund University)
GPU Gems 2, 2005.

GPU Computing for Protein Structure Prediction

Paulius Micikevicius (Armstrong Atlantic State University)
GPU Gems 2, 2005.

A GPU Framework for Solving Systems of Linear Equations

Jens Krüger and Rüdiger Westermann (Technische Universität München)
GPU Gems 2, 2005.

Options Pricing on the GPU

Craig Kolb and Matt Pharr (NVIDIA Corporation)
GPU Gems 2, 2005.

Improved GPU Sorting

Peter Kipfer and Rüdiger Westermann (Technische Universität München)
GPU Gems 2, 2005.

Flow Simulation with Complex Boundaries

Wei Li (Siemens Corporate Research), Zhe Fan, Xiaoming Wei, and Arie Kaufman (Stony Brook University)
GPU Gems 2, 2005.

Medical Image Reconstruction with the FFT

Thilaka Sumanaweera and Donald Liu (Siemens Medical Solutions USA, Inc.)
GPU Gems 2, 2005.

Batching 4EVA (GDC2005 D3D Tutorial)

Matthias M. Wloka (NVIDIA)
PDF available, NVIDIA GDC Presentations, 2005.

Direct3D API Issues: Instancing and Floating-Point Specials (GDC2005 D3D Tutorial)

Cem Cebenoyan (NVIDIA)
PDF available, NVIDIA GDC Presentations, 2005.

Special Effects in Direct3D (GDC2005 D3D Tutorial)

Greg James (NVIDIA)
PDF available, NVIDIA GDC Presentations, 2005.

The OpenGL Framebuffer Object Extension

Simon Green (NVIDIA)
PDF available, NVIDIA GDC Presentations, 2005.

Image Processing Tricks in OpenGL

Simon Green (NVIDIA)
PDF available, NVIDIA GDC Presentations, 2005.

OpenGL 2.0 and New Extensions

Cass Everitt (NVIDIA)
PDF available, NVIDIA GDC Presentations, 2005.

Programming for SLI in OpenGL

Simon Green (NVIDIA)
PDF available, NVIDIA GDC Presentations, 2005.

OpenGL Performance Tools

Sébastien Dominé (NVIDIA)
PDF available, NVIDIA GDC Presentations, 2005.

GPGPU: General-Purpose Computation on GPUs

Mark Harris (NVIDIA)
PDF available, NVIDIA GDC Presentations, 2005.

Volume Rendering for Games

Simon Green (NVIDIA)
PDF available, NVIDIA GDC Presentations, 2005.

Percentage-Closer Soft Shadows

Randima Fernando (NVIDIA)
PDF available, NVIDIA GDC Presentations, 2005.

Introduction to Wireless Media Processors (WMPs)

Brian Bruning (NVIDIA)
PDF available, NVIDIA GDC Presentations, 2005.

Coming to a Pixel Near You: Mobile 3D Graphics on the GoForce WMP

Chris Wynn (NVIDIA)
PDF available, NVIDIA GDC Presentations, 2005.

The NVIDIA Performance Analysis Tools

Raul Aguaviva, Sim Dietrich, and Sébastien Dominé (NVIDIA)
PDF available, NVIDIA GDC Presentations, 2005.

Pipeline Integration with FX Composer

Chris Maughan (NVIDIA)
PDF available, NVIDIA GDC Presentations, 2005.

Creating Real Shaders with FX Composer

Kevin Bjorke (NVIDIA)
PDF available, NVIDIA GDC Presentations, 2005.

GPU Gems 2 Showcase: Per-Pixel Displacement Mapping Pixel Displacement Mapping with Distance Functions with Distance Functions (GPU Gems 2)

William Donnelly (University of Waterloo), Presented by Matthias Wloka (NVIDIA)
PDF/audio available, NVIDIA GDC Presentations, 2005.

GPU Gems 2 Showcase: Terrain Rendering Using GPU-Based Geometry Clipmaps (GPU Gems 2)

Arul Prakash (University of Utah), Hugues Hoppe (Microsoft Research)
PDF/audio available, NVIDIA GDC Presentations, 2005.

GPU Gems 2 Showcase: Dynamic Ambient Occlusion and Indirect Lighting (GPU Gems 2)

Michael Bunnell (NVIDIA)
PDF/audio available, NVIDIA GDC Presentations, 2005.

OpenGL Performance Tuning: OpenGL Performance in a Shader-Centric World

Evan Hart (ATI Research)
ATI Technology Papers & Presentations, GDC 2005.

OpenGL Shading Language

Bill Licea-Kane (ATI Research)
ATI Technology Papers & Presentations, GDC 2005.

3.0 Shaders (GDC2005 D3D Tutorial)

Jason Mitchell(ATI Research)
ATI Technology Papers & Presentations, GDC 2005.

Optimizing DirectX Graphics (GDC2005 D3D Tutorial)

Richard Huddy (ATI Research)
ATI Technology Papers & Presentations, GDC 2005.

Advanced in Real-Time Skin Rendering (GDC2005 D3D Tutorial)

Natalya Tatarchuk (ATI Research)
ATI Technology Papers & Presentations, GDC 2005.

Making Pretty Pictures with D3D (GDC2005 D3D Tutorial)

Alex Evans (Lionhead Studios)
ATI Technology Papers & Presentations, GDC 2005.

Far Cry and DirectX (GDC2005 D3D Tutorial)

Carsten Wenzel (Crytek)
ATI Technology Papers & Presentations, GDC 2005.

Bringing Hollywood to Real Time

Abe Wiley (ATI Research)
ATI Technology Papers & Presentations (GDC 2005).

Cubemap Filtering with Filtering with CubeMapGen

Thorsten Scheuermann, John Isidoro (ATI Research)
ATI Technology Papers & Presentations (GDC 2005).

Dynamic Image-Space Per-Pixel Displacement Mapping with Silhouette Antialiasing via Parallax Occlusion Mapping

Natalya Tatarchuk (ATI Research)
ATI Technology Papers & Presentations (GDC 2005).

Irradiance Volumes for Games

Chris Oat (ATI Research)
ATI Technology Papers & Presentations (GDC 2005).

RenderMonkey 1.6

Natalya Tatarchuk (ATI Research)
ATI Technology Papers & Presentations (GDC 2005).

Ruby: Dangerous Curves - Effects Breakdown: How'd they do that?

Dan Ginsburg (ATI Research)
ATI Technology Papers & Presentations (GDC 2005).

Summed-Area Tables and Their Application to Dynamic Glossy Environment Reflections

Thorsten Scheuermann (ATI Research)
ATI Technology Papers & Presentations (GDC 2005).

ASHLI - Multipass for Lower Precision Targets

Avi Bleiweiss, Arcot J. Preetham, Derek Whiteman (ATI Research)
ATI Technology Papers & Presentations (SIGGRAPH 2004).

Real-Time Skin Rendering on Graphics Hardware

Pedro V. Sander, David Gosselin, Jason L. Mitchell (ATI Research)
ATI Technology Papers & Presentations (SIGGRAPH 2004).

Practical Real-Time Hair Rendering and Shading

Thorsten Scheuermann (ATI Research)
ATI Technology Papers & Presentations (SIGGRAPH 2004).

RenderMonkey: An Effective Environment for Shader Prototyping and Development

Natalya Tatarchuk (ATI Research)
ATI Technology Papers & Presentations (SIGGRAPH 2004).

The Making of Ruby: The DoubleCross

David Gosselin (ATI Research)
ATI Technology Papers & Presentations (SIGGRAPH 2004).

Applications of Explicit Early-Z Culling

Pedro V. Sander, Jason L. Mitchell (ATI Research)
ATI Technology Papers & Presentations (SIGGRAPH 2004).

UberFlow: A GPU-Based Particle Engine

Peter Kipfer (Technische Universitat Muncheny), Mark Segal (ATI Research), Rudiger Westermann (Technische Universitat Muncheny)
ATI Technology Papers & Presentations (Eurographics 2004).
Abstract: We present a system for real-time animation and rendering of large particle sets using GPU computation and memory objects in OpenGL. Memory objects can be used both as containers for geometry data stored on the graphics card and as render targets, providing an effective means for the manipulation and rendering of particle data on the GPU. To fully take advantage of this mechanism, ef.cient GPU realizations of algorithms used to perform particle manipulation are essential. Our system implements a versatile particle engine, including inter-particle collisions and visibility sorting. By combining memory objects with .oating-point fragment programs, we have implemented a particle engine that entirely avoids the transfer of particle data at run-time. Our system can be seen as a forerunner of a new class of graphics algorithms, exploiting memory objects or similar concepts on upcoming graphics hardware to avoid bus bandwidth becoming the major performance bottleneck.

The OpenGL Shading Language

Bill Licea-Kane (ATI Research)
ATI Technology Papers & Presentations (GDC 2004).

OpenGL Performance Tuning

Evan Hart (ATI Research)
ATI Technology Papers & Presentations (GDC 2004).

OpenGL ARM Superbuffers

Rob Mace (ATI Research)
ATI Technology Papers & Presentations (GDC 2004).

Custom Component Development with the RenderMonkey SDK

Natalya Tatarchuk (ATI Research)
ATI Technology Papers & Presentations (GDC 2004).

New RenderMonkey features for DirectX and OpenGL Shader Development

Natalya Tatarchuk (ATI Research)
ATI Technology Papers & Presentations (GDC 2004).

Adding Spherical Harmonic Lighting to the Sushi Engine

Chris Oat (ATI Research)
ATI Technology Papers & Presentations (GDC 2004).

Procedural Shaders: A Feature Animation Perspective

Hector Yee (PDI/DreamWorks), David Hart (PDI/DreamWorks), Arcot J. Preetham (ATI Research) (ATI Research)
ATI Technology Papers & Presentations (GDC 2004).

Direct3D Shader Models (GDC2004 D3D Tutorial)

Jason Mitchell(ATI Research)
ATI Technology Papers & Presentations (GDC 2004).

Direct3D Optimizations (GDC2004 D3D Tutorial)

Richard Huddy (ATI Research)
ATI Technology Papers & Presentations (GDC 2004).

Deferred Shading (GDC2004 D3D Tutorial)

Shawn Hargreaves (Climax)
ATI Technology Papers & Presentations (GDC 2004).

Optimizations and Star Wars Galaxies (GDC2004 D3D Tutorial)

Jeff Grills (Sony Online Entertainment)
ATI Technology Papers & Presentations (GDC 2004).

Real Time Skin Rendering (GDC2004 D3D Tutorial)

David Gosselin (ATI Research)
ATI Technology Papers & Presentations (GDC 2004).

Half-Life 2 / Valve Source Shading (GDC2004 D3D Tutorial)

Gary McTaggart (Valve Software)
ATI Technology Papers & Presentations (GDC 2004).

Save the Nanosecond! PC Graphics Performance for the next 3 years

Richard Huddy (ATI Technologies)
ATI Technology Papers & Presentations (GDC 2004).

Light Shafts: Rendering Shadows in Participating Media

Jason Mitchell (ATI Research)
ATI Technology Papers & Presentations (GDC 2004).

Hair Rendering and Shading

Thorsten Scheuermann (ATI Research)
ATI Technology Papers & Presentations (GDC 2004).

Advanced Depth of Field

Thorsten Scheuermann (ATI Research)
ATI Technology Papers & Presentations (GDC 2004).

Phat Lewt: Drawing a Diamond

David Gosselin (ATI Research)
ATI Technology Papers & Presentations (GDC 2004).

All About Antialiasing (GDC2004 D3D Tutorial)

Sim Dietrich (NVIDIA)
PDF available, NVIDIA GDC Presentations, 2004.

Optimization for DirectX9 Graphics (GDC2004 D3D Tutorial)

Ashu Rege (NVIDIA)
PDF available, NVIDIA GDC Presentations, 2004.

GPU-Assisted Rendering Techniques (GDC2004 D3D Tutorial)

Matthias M. Wloka (NVIDIA)
PDF available, NVIDIA GDC Presentations, 2004.

The OpenGL Shading Language on NVIDIA Hardware (GDC2004 OpenGL Tutorial)

Simon Green, Mark Kilgard (NVIDIA)
PDF available, NVIDIA GDC Presentations, 2004.

OpenGL 2.0 Update (GDC2004 OpenGL Tutorial)

Cass Everitt (NVIDIA)
PDF available, NVIDIA GDC Presentations, 2004.

New NVIDIA OpenGL Extensions (GDC2004 OpenGL Tutorial)

Simon Green (NVIDIA)
PDF available, NVIDIA GDC Presentations, 2004.

GPGPU: Beyond Graphics

Mark Harris (NVIDIA)
PDF available, NVIDIA GDC Presentations, 2004.

Cinematic Effects II: The Revenge

Kevin Bjorke (NVIDIA)
PDF/Movie available, NVIDIA GDC Presentations, 2004.

Next-Gen Special Effects Showcase: How to Render a Real Rainbow

Clint Brewer (NVIDIA)
PDF/Movie available, NVIDIA GDC Presentations, 2004.

Next-Gen Special Effects Showcase: BloodShader - Real-Time Adaptive Animation

Kevin Meyers (NVIDIA)
PDF/Movie available, NVIDIA GDC Presentations, 2004.

GPU Water Simulation with PS 3.0

Jeremy Zelsnack (NVIDIA)
PDF/Movie available, NVIDIA GDC Presentations, 2004.

GPU Performance Tools

Sébastien Dominé (NVIDIA)
PDF available, NVIDIA GDC Presentations, 2004.

Practical Performance Analysis and Tuning

Ashu Rege, Clint Brewer (NVIDIA)
PDF available, NVIDIA GDC Presentations, 2004.

GPU Gems Showcase: Image-Based Lighting (GPU Gems)

Kevin Bjorke (NVIDIA)
PDF available, NVIDIA GDC Presentations, 2004.

GPU Gems Showcase: Perspective Shadow Mapping (GPU Gems)

Gary King (NVIDIA)
PDF available, NVIDIA GDC Presentations, 2004.

GPU Gems Showcase: Ambient Occlusion (GPU Gems)

Matt Pharr (NVIDIA)
PDF available, NVIDIA GDC Presentations, 2004.

Real-Time Animated Translucency

Greg James, Simon Green (NVIDIA)
PDF available, NVIDIA GDC Presentations, 2004.

Poster Quality Screenshots

Steve Rabin (Nintendo of America Inc)
Game Programming Gems 4, 2004.

GPU Shadow Volume Construction for Nonclosed Meshes

Warrick Buchanan
Game Programming Gems 4, 2004.

Perspective Shadow Maps

Marc Stamminger , George Drettakis, Carsten Dachsbacher
Game Programming Gems 4, 2004.

Combined Depth and ID-Based Shadow Buffers

Kurt Pelzer (Piranha Bytes)
Game Programming Gems 4, 2004.

Carving Static Shadows into Geometry

Alex Vlachos (ATI Research)
Game Programming Gems 4, 2004.

Adjusting Real-Time Lighting for Shadow Volumes and Optimized Meshes

Alex Vlachos, Chris Oat (ATI Research)
Game Programming Gems 4, 2004.

Real-Time Halftoning: Fast and Simple Stylized Shading

Bert Freudenberg, Maic Masuch, Thomas Strothotte (University of Magdeburg)
Game Programming Gems 4, 2004.

Techniques to Apply Team Colors to 3D Models

Greg Seegert (Stainless Steel Studios)
Game Programming Gems 4, 2004.

Fast Sepia Tone Conversion

Marwan Y. Ansari (ATI Research)
Game Programming Gems 4, 2004.

Dynamic Gamma Using Sampled Scene Luminance

Michael Dougherty, Dave McCoy
Game Programming Gems 4, 2004.

Heat and Haze Post-Processing Effects

Chris Oat, Natalya Tatarchuck (ATI Research)
Game Programming Gems 4, 2004.

Hardware Skinning with Quaternions

Jim Hejl (Electronic Arts Tiburon)
Game Programming Gems 4, 2004.

Motion Capture Data Compression

Soren Hannibal (Shiny Entertainment)
Game Programming Gems 4, 2004.

Fast Collision Detection for 3D Bones-Based Articulated Characters

Oliver Heim, Carl S. Marshall, Adam Lake (Intel Corporation)
Game Programming Gems 4, 2004.

Terrain Occlusion Culling with Horizons

Glenn Fiedler (Irrational Games)
Game Programming Gems 4, 2004.

Effective Water Simulation from Physical Models

Mark Finch (Cyan Worlds)
GPU Gems, 2004.

Rendering Water Caustics

Juan Guardado (NVIDIA) and Daniel Sánchez-Crespo (Universitat Pompeu Fabra / Novarama Technology)
GPU Gems, 2004.

Skin in the "Dawn" Demo

Curtis Beeson and Kevin Bjorke (NVIDIA)
GPU Gems, 2004.

Animation in the "Dawn" Demo

Curtis Beeson (NVIDIA)
GPU Gems, 2004.

Implementing Improved Perlin Noise

Ken Perlin (New York University)
GPU Gems, 2004.

Fire in the "Vulcan" Demo

Hubert Nguyen (NVIDIA)
GPU Gems, 2004.

Rendering Countless Blades of Waving Grass

Kurt Pelzer (Piranha Bytes)
GPU Gems, 2004.

Simulating Diffraction

Jos Stam (Alias Systems)
GPU Gems, 2004.

Efficient Shadow Volume Rendering

Morgan McGuire (Brown University)
GPU Gems, 2004.

Cinematic Lighting

Fabio Pellacini and Kiril Vidimce (Pixar Animation Studios)
GPU Gems, 2004.

Shadow Map Antialiasing

Michael Bunnell (NVIDIA) and Fabio Pellacini (Pixar Animation Studios)
GPU Gems, 2004.

Omnidirectional Shadow Mapping

Philipp Gerasimov (iXBT.com)
GPU Gems, 2004.

Generating Soft Shadows Using Occlusion Interval Maps

William Donnelly (University of Waterloo) and Joe Demers (NVIDIA)
GPU Gems, 2004.

Perspective Shadow Maps: Care and Feeding

Simon Kozlov (Softlab-NSK)
GPU Gems, 2004.

Managing Visibility for Per-Pixel Lighting

John O’Rorke (Monolith Productions)
GPU Gems, 2004.

Real-Time Approximations to Subsurface Scattering

Simon Green (NVIDIA)
GPU Gems, 2004.

Ambient Occlusion

Matt Pharr and Simon Green (NVIDIA)
GPU Gems, 2004.

Spatial BRDFs

David McAllister (NVIDIA)
GPU Gems, 2004.

Finite-Radius Sphere Environment Mapping

Kevin Bjorke (NVIDIA)
GPU Gems, 2004.

Texture Bombing

R. Steven Glanville (NVIDIA)
GPU Gems, 2004.

Real-Time Glow

Greg James (NVIDIA) and John O’Rorke (Monolith Productions)
GPU Gems, 2004.

Color Controls

Kevin Bjorke (NVIDIA)
GPU Gems, 2004.

Depth of Field: A Survey of Techniques

Joe Demers (NVIDIA)
GPU Gems, 2004.

High-Quality Filtering

Kevin Bjorke (NVIDIA)
GPU Gems, 2004.

Fast Filter Width Estimates with Texture Maps

Matt Pharr (NVIDIA)
GPU Gems, 2004.

The OpenEXR File Format

Florian Kainz, Rod Bogart, and Drew Hess (Industrial Light & Magic)
GPU Gems, 2004.

A Framework for Image Processing

Frank Jargstorff (NVIDIA)
GPU Gems, 2004.

Graphics Pipeline Performance

Cem Cebenoyan (NVIDIA)
GPU Gems, 2004.

Efficient Occlusion Culling

Dean Sekulic (Croteam)
GPU Gems, 2004.

The Design of FX Composer

Christopher Maughan (NVIDIA)
GPU Gems, 2004.

Using FX Composer

Christopher Maughan (NVIDIA)
GPU Gems, 2004.

An Introduction to Shader Interfaces

Matt Pharr (NVIDIA)
GPU Gems, 2004.

Converting Production RenderMan Shaders to Real-Time

Steve Marshall (Sony Pictures Imageworks)
GPU Gems, 2004.

Integrating Hardware Shading into Cinema 4D

Jörn Loviscach (Hochschule Bremen)
GPU Gems, 2004.

Leveraging High-Quality Software Rendering Effects in Real-Time Applications

Alexandre Jean Claude and Marc Stevens (Softimage)
GPU Gems, 2004.

Integrating Shaders into Applications

John O’Rorke (Monolith Productions)
GPU Gems, 2004.

A Toolkit for Computation on GPUs

Ian Buck and Tim Purcell (Stanford University)
GPU Gems, 2004.

Fast Fluid Dynamics Simulation on the GPU

Mark Harris (University of North Carolina at Chapel Hill)
GPU Gems, 2004.

Volume Rendering Techniques

Milan Ikits (University of Utah), Joe Kniss (University of Utah), Aaron Lefohn (University of California, Davis), and Charles Hansen (University of Utah)
GPU Gems, 2004.

Applying Real-Time Shading to 3D Ultrasound Visualization

Thilaka Sumanaweera (Siemens Medical Solutions USA, Inc.)
GPU Gems, 2004.

Real-Time Stereograms

Fabio Policarpo (Paralelo Computação Ltda.)
GPU Gems, 2004.

Deformers

Eugene d’Eon (University of Waterloo)
GPU Gems, 2004.

Accessing and Modifying Topology on the GPU

Dean Calver
ShaderX3, 2004.

Rendering of Complex Formulas

Christian Kleinhuis
ShaderX3, 2004.

Deforming of Mesh Objects Using HLSL

Christian Kleinhuis
ShaderX3, 2004.

Morphing Between Two Different Objects

Ronny Burkersroda
ShaderX3, 2004.

Silhouette Geometry Shaders

Jörn Loviscach
ShaderX3, 2004.

GLSL Real-Time Shader Development

Natalya Tatarchuk and Bill Licea-Kane
ShaderX3, 2004.

Parallax Mapping

Terry Welsh
ShaderX3, 2004.

Deferred Lighting on PS 3.0 with High Dynamic Range

Dean Calver
ShaderX3, 2004.

Reflections from Bumpy Surfaces

Henning Mortveit
ShaderX3, 2004.

Massively Parallel Particle Systems on the GPU

Lutz Latta
ShaderX3, 2004.

Parallax Occlusion Mapping: Self-Shadowing, Perspective-Correct Bump Mapping Using Reverse Height Map Tracing

Zoe Brawley and Natalya Tatarchuk
ShaderX3, 2004.

Improved Batching via Texture Atlases

Matthias Wloka
ShaderX3, 2004.

A Simulation of Thermal Imaging

O’dell Hicks
ShaderX3, 2004.

Real-Time Texture-Space Skin Rendering

David R. Gosselin, Pedro V. Sander, and Jason L. Mitchell
ShaderX3, 2004.

Dot3 Cel Shading

Ron Barbosa
ShaderX3, 2004.

Hardware-Accelerated Charcoal Rendering

Markus Nuebel
ShaderX3, 2004.

Detail Texture Motion Blur

Shawn Hargreaves
ShaderX3, 2004.

Animation and Display of Water

Stefano Lanza
ShaderX3, 2004.

Rendering Semitransparent Layered Media

Chris Oat
ShaderX3, 2004.

Hair Rendering and Shading

Thorsten Scheuermann
ShaderX3, 2004.

Reduction of Lighting Calculations Using Spherical Harmonics

Vlad Stamate
ShaderX3, 2004.

Optimizing Dx9 Vertex Shaders for Software Vertex Processing

Kent F. Knox
ShaderX3, 2004.

Software Shaders and DirectX DLL Implementation

Nicolas Capens
ShaderX3, 2004.

Tactical Path-Finding Using Stochastic Maps on the GPU

Khanh Phong Ly
ShaderX3, 2004.

FX Composer 1.5-Standardization

Chris Maughan and Daniel Horowitz
ShaderX3, 2004.

A Steerable Streak Filter

Chris Oat
ShaderX3, 2004.

Adaptive Glare

Tiago Sousa
ShaderX3, 2004.

Color Grading

Ronny Burkersroda
ShaderX3, 2004.

Improved Depth-of-Field Rendering

Thorsten Scheuermann and Natalya Tatarchuk
ShaderX3, 2004.

Lighting Precomputation Using the Relighting Map

Tien-Tsin Wong, Chi-Sing Leung, and Kwok-Hung Choy
ShaderX3, 2004.

Shaderey-NPR Style Rendering

Aras Pranckevicius
ShaderX3, 2004.

Poisson Shadow Blur

Jason L. Mitchell
ShaderX3, 2004.

Fractional-Disk Soft Shadows

Michal Valient and Willem H. de Boer
ShaderX3, 2004.

Fake Soft Shadows Using Precomputed Visibility Distance Functions

Aras Pranckevicius
ShaderX3, 2004.

Efficient Omnidirectional Shadow Maps

Gary King and William Newhall
ShaderX3, 2004.

An Extensible Direct3D Resource Management System

Wessam Bahnassi
ShaderX3, 2004.

Integrating Shaders into the Vision Rendering Engine

Dag Frommhold and Florian Born
ShaderX3, 2004.

Effect Parameters Manipulation Framework

Wessam Bahnassi
ShaderX3, 2004.

Shader Visualization Systems for the Art Pipeline

Homam Bahnassi and Wessam Bahnassi
ShaderX3, 2004.

Drawing a Crowd

David R. Gosselin, Pedro V. Sander, and Jason L. Mitchell
ShaderX3, 2004.

In-Depth Performance Analyses of DirectX9 Shading Hardware Concerning Pixel Shader and Texture Performance

Joachim Diepstraten and Mike EiBele
ShaderX3, 2004.

Shaderbreaker

Magnus Österlind
ShaderX3, 2004.

Generating Shaders from HLSL Fragments

Shawn Hargreaves
ShaderX3, 2004.

Light Shaft Rendering

Jason L. Mitchell
ShaderX3, 2004.

Rendering Rainbows

Clint S. Brewer
ShaderX3, 2004.

A Practical Analytic Model for Daylight with Shaders

Marco Spörl
ShaderX3, 2004.

Volumetric Clouds

Jesse Laeuchli
ShaderX3, 2004.

Simulating and Rendering Particle Systems

Waldemar Celes and Antonio Calomeni (Pontifical Catholic University of Rio de Janeiro)
Graphics Programming Methods, 2003.

Real-Time Animation of Trees

Thomas Di Giacomo (MIRALab - University of Geneva), Stéphane Capo (Oktal), and François Faure (iMAGIS Lab)
Graphics Programming Methods, 2003.

Real-Time Multiresolution Dynamics of Deeply Hierarchical Bodies

Jason Weber and Andrew Weber (Intel Corporation)
Graphics Programming Methods, 2003.

Scripted Bodies and Spline-Driven Animation

Kenny Erleben and Knud Henriksen (University of Copenhagen)
Graphics Programming Methods, 2003.

Collision Detection of Deformable Volumetric Meshes

Kenny Erleben and Jon Sporring (University of Copenhagen)
Graphics Programming Methods, 2003.

Building an Advanced Facial Expression System

John van der Burg (Mystic Game Development)
Graphics Programming Methods, 2003.

Inverse Dynamic Displacement Constraints in Real-Time Cloth and Soft-Body Models

Meciej Matyka (University of Wroclaw)
Graphics Programming Methods, 2003.

Resolution of the Inverse Kinematic of an Articulated Structure Using the Jacobian Pseudo-Inverse

Juan M. Cordero and Javier Matellanes (University of Seville)
Graphics Programming Methods, 2003.

Automatic Parameterizations on the Cube

Ignacio Castaño (University of Seville)
Graphics Programming Methods, 2003.

Filling Texture Holes Using the Euclidean Distance Map

Ignacio Castaño (University of Seville)
Graphics Programming Methods, 2003.

A Fast All-Interger Ellipse Discretization Algorithm

Tony Barrera (Barrera Kristiansen AB), Anders Hast (Creative Media Lab, University of Gävle), and Ewert Bengtsson (Center for Image Analysis, Uppsala University)
Graphics Programming Methods, 2003.

A Fast and Simple All-Interger Parametric Line

Tony Barrera (Barrera Kristiansen AB), Anders Hast (Creative Media Lab, University of Gävle), and Ewert Bengtsson (Center for Image Analysis, Uppsala University)
Graphics Programming Methods, 2003.

An Easy-to-Code Smoothing Algorithm for 3D Reconstructed Surfaces

Oscar Garcia-Panyella (La Salle School of Engineering)
Graphics Programming Methods, 2003.

Higher-Order Surfaces Using Curved Point-Normal (PN) Triangles

Mark Theyer (TheyerGFX Pty Ltd)
Graphics Programming Methods, 2003.

Building a Flexible Terrain Engine for the Future

Trent Polack (Burnt Fur Entertainment)
Graphics Programming Methods, 2003.

Visible Terrain Grid Determination Using the Frustum

Christopher Tremblay
Graphics Programming Methods, 2003.

Real-Time Generation and Rendering of 3D Planets

Jesse Laeuchli
Graphics Programming Methods, 2003.

k-D Tree Face Portals with Solid Geometry

Conor Stokes
Graphics Programming Methods, 2003.

A Framework for Rapid 3D Level Design Using MAXScript Code Generation

R. Grant Reed
Graphics Programming Methods, 2003.

A Modified Phong-Blinn Light Model for Shadowed Areas

Tony Barrera (Barrera Kristiansen AB), Anders Hast (Creative Media Lab, University of Gävle), and Ewert Bengtsson (Center for Image Analysis, Uppsala University)
Graphics Programming Methods, 2003.

Stochastic Iteration for Nondiffuse Global Illumination

László Szirmay-Kalos and György Antal (Budapest University)
Graphics Programming Methods, 2003.

Metropolis Sampling in Random Walk Global Illumination Algorithms

László Szirmay-Kalos and György Antal (Budapest University)
Graphics Programming Methods, 2003.

Metropolis Density Estimation

William Leeson (Illuminate)
Graphics Programming Methods, 2003.

Rendering with Adaptive Integration

William Leeson (Illuminate)
Graphics Programming Methods, 2003.

Illumination-Based Occlusion Culling

Ian Ashdown (byHeart Consultants Limited)
Graphics Programming Methods, 2003.

Antialiasing for Bump Maps and a Fast Normalization Trick

Tony Barrera (Barrera Kristiansen AB), Anders Hast (Creative Media Lab, University of Gävle), and Ewert Bengtsson (Center for Image Analysis, Uppsala University)
Graphics Programming Methods, 2003.

Fast Setup for Bilinear and Biquadratic Interpolation over Triangles

Tony Barrera (Barrera Kristiansen AB), Anders Hast (Creative Media Lab, University of Gävle), and Ewert Bengtsson (Center for Image Analysis, Uppsala University)
Graphics Programming Methods, 2003.

An Effective Implementation of the k-D Trees

László Szécsi (Budapest University)
Graphics Programming Methods, 2003.

Pixel Shader Optimizations for Terrain Rendering

Kenny Mitchell (Electronic Arts)
Graphics Programming Methods, 2003.

Real-Time Light-Atmosphere Interactions for Outdoor Scenes

Naty Hoffman (Electronic Arts) and Arcot J. Preetham (ATI Research)
Graphics Programming Methods, 2003.

True Volumetric Shadows

Robert James
Graphics Programming Methods, 2003.

Quantization of True-Color Images with Opacity Information

Willem H. de Boer (Mucky Foot Productions)
Graphics Programming Methods, 2003.

Real-Time Relighting of Compressed Panoramas

Tien-Tsin Wong and Siu-Hang Or (The Chinese University of Hong Kong), and Chi-Wing Fu (Indiana University Bloomington)
Graphics Programming Methods, 2003.

An Optimal Dynamic Surface Caching Algorithm

Alexandre Ganea (DC Studios)
Graphics Programming Methods, 2003.

Introduction to the DirectX 9 High Level Shading Language

Jason L. Mitchell and Craig Peeper
ShaderX2, 2003.

Introduction to the vs_3_0 and ps_3_0 Shader Models

Nicolas Thibieroz, Kristof Beets and Aaron Burton
ShaderX2, 2003.

Advanced lighting and shading with Direct3D 9

Michal Valient
ShaderX2, 2003.

Introduction to Different Fog Effects

Markus Nübel
ShaderX2, 2003.

Shadow Mapping with Direct3D 9

Michal Valient
ShaderX2, 2003.

The Theory of Stencil Shadow Volumes

Hun Yen Kwoon
ShaderX2, 2003.

Shader Development using RenderMonkey

Natalya Tatarchuk
ShaderX2, 2003.

Tips for Creating Shader-Friendly 3D Models

Gim Guan Chua
ShaderX2, 2003.

Vertex Decompression using Vertex Shaders Part 2

Dean Calver
ShaderX2, 2003.

Using lookup tables in vertex shaders

Carsten Wenzel
ShaderX2, 2003.

Terrain Geomorphing in the Vertex Shader

Daniel Wagner
ShaderX2, 2003.

3D Planets on the GPU

Jesse Laeuchli
ShaderX2, 2003.

Cloth Animation with Pixel and Vertex Shader 3.0

Kristof Beets
ShaderX2, 2003.

Collision Shaders

Takashi Imagire
ShaderX2, 2003.

Displacement Mapping

Tom Forsyth
ShaderX2, 2003.

Rendering Objects as Thick Volumes

Greg James
ShaderX2, 2003.

Screen-aligned Particles with Minimal Vertex Buffer Locking

O'dell Hicks
ShaderX2, 2003.

Hemisphere Lighting With Radiosity Maps

Shawn Hargreaves
ShaderX2, 2003.

Galaxy Textures

Jesse Laeuchli
ShaderX2, 2003.

Turbulent Sun

Jesse Laeuchli
ShaderX2, 2003.

Fragment Level Phong Illumination

Emil Persson
ShaderX2, 2003.

Specular Bump mapping on pre-ps_1_4 Hardware

Matthew Halpin
ShaderX2, 2003.

Rendering Voxel Objects with ps_3_0

Aaron Burton
ShaderX2, 2003.

Simulating Blending Operations on Floating Point Render Targets

Francesco Carucci
ShaderX2, 2003.

Rendering Volumes in a Vertex & Pixel Program by Ray Tracing

Eli Z. Gottlieb
ShaderX2, 2003.

Normal Map Compression

Jakub Klarowicz
ShaderX2, 2003.

Drops of Water - and Texture Sprites

Sylvain Lefebvre
ShaderX2, 2003.

Advanced Water Effects

Kurt Pelzer
ShaderX2, 2003.

Efficient Evaluation of Irradiance Environment Maps

Peter-Pike Sloan
ShaderX2, 2003.

Practical Precomputed Radiance Transfer

Peter-Pike Sloan
ShaderX2, 2003.

Advanced Sky Dome Rendering

Marco Spoerl and Kurt Pelzer
ShaderX2, 2003.

Deferred Shading with Multiple Render Targets

Nicolas Thibieroz
ShaderX2, 2003.

Meshuggah's Effects explained

Carsten Wenzel
ShaderX2, 2003.

Layered Car Paint Shader

Chris Oat, Natalya Tatarchuk, John Isidoro
ShaderX2, 2003.

Motion Blur Using Geometry and Shading Distortion

Natalya Tatarchuk, Chris Brennan, John Isidoro, Alex Vlachos
ShaderX2, 2003.

Simulation of Iridescence and Translucency on Thin Surfaces

Natalya Tatarchuk and Chris Brennan
ShaderX2, 2003.

Floating-Point Cube Maps

Arkadiusz Waliszewski
ShaderX2, 2003.

Stereoscopic Rendering in Hardware using Shaders

Thomas Rued
ShaderX2, 2003.

Hatching, Stroke Styles & Pointillism

Kevin Buchin and Maike Walther
ShaderX2, 2003.

Layered Fog

Guillaume Werle
ShaderX2, 2003.

Linear Algebra on the GPU

Adam Moravansky
ShaderX2, 2003.

Software Vertex Shader Processing

Dean Macri
ShaderX2, 2003.

x86 Shaders - ps_2_0 Shaders in Software

Nicolas Capens
ShaderX2, 2003.

SoftD3D - A software only implementation of Microsoft's Direct3D API

Oliver Weichhold
ShaderX2, 2003.

Named Constants in Shader Development

Jeffrey Kiel
ShaderX2, 2003.

Advanced Image Processing with DirectX 9 Pixel Shaders

Jason L. Mitchell, Marwan Y. Ansari and Evan Hart
ShaderX2, 2003.

Night Vision - Frame Buffer Post-Processing with ps_1_1 Hardware

Guillaume Werle
ShaderX2, 2003.

Non-Photorealistic Postprocessing Filters in MotoGP 2

Shawn Hargreaves
ShaderX2, 2003.

Image Effects with DirectX 9 Pixel Shaders

Marwan Y. Ansari
ShaderX2, 2003.

Using Pixel Shaders to Implement a Mosaic Effect using Character Glyphs

Roger Descheneaux and Maurice Ribble
ShaderX2, 2003.

Mandelbrot Set Rendering

Emil Persson
ShaderX2, 2003.

Real-Time Depth of Field Simulation

Guennadi Riguer, Natalya Tatarchuk and John Isidoro
ShaderX2, 2003.

Soft Shadows

Flavien Brebion
ShaderX2, 2003.

Robust ObjectID Shadows

Sim Dietrich
ShaderX2, 2003.

Reverse Extruded Shadow Volumes

Renaldas Zioma
ShaderX2, 2003.

Post-Process Fun with Effects Buffers

Tom Forsyth
ShaderX2, 2003.

Shader Abstraction

Tom Forsyth
ShaderX2, 2003.

Shaders under Control (Codecreatures Engine)

Oliver Hoeller
ShaderX2, 2003.

Shader Integration in the Gamebryo Graphics Engine

Scott Sherman, Dan Amerson, Shaun Kime, and Tim Preston
ShaderX2, 2003.

Vertex Shader Compiler

David Pangerl
ShaderX2, 2003.

Shader Disassembler

Jean-Sebastian Luce
ShaderX2, 2003.

Implementing A Fixed Function Shader in HLSL

Pedro V. Sander (ATI Research)
ATI Technology Papers & Presentations, 2003.

Normal Map Compression

ATI Research
ATI Technology Papers & Presentations, 2003.

Performance Optimization Techniques for ATI Graphics Hardware with DirectX®9.0

Guennadi Riguer (ATI Research)
ATI Technology Papers & Presentations, 2002.

Rendering Outdoor Light Scattering in Real Time

Naty Hoffman (Westwood Studios), Arcot J. Preetham (ATI Research)
ATI Technology Papers & Presentations, 2002.

T-Junction Elimination and Retriangulation

Eric Lengyel (Terathon Software)
Game Programming Gems 3, 2002.
Abstract: This article describes how to detect possible sources of these seams in complex 3D scenes and how to modify static geometry so that visible artifacts are avoided. Since T-junction elimination adds verticies to existing polygons (that are not necessarily convex), we also discuss a method for triangulating arbitrary concave polygons.

Fast Heightfield Normal Calculation

Jason Shankel (Maxis)
Game Programming Gems 3, 2002.
Abstract: Heightfields are two-dimensional arrays of height values, commonly used to store terrain or water surface data, and are also commonly used for calculating bump maps. This article will describe how we can take advantage of the special characteristics of heightfield meshes to significantly optimize vertex normal calculation.

Fast Patch Normals

Martin Brownlow (Shiny Entertainment)
Game Programming Gems 3, 2002.
Abstract: Surface patches are a memory-efficient way of creating smooth surfaces that can be rendered at many levels of detail. However, having a smooth surface is not as useful if you cannot light it properly. For that, you need the normal vector at each vertex. This article describes how to treat the normal at each control point as a second control mesh, thus quickly approximating the correct surface normal. Although the results are not strictly correct, they can produce superior results by eliminating shading errors due to curve discontinuity introduced during skinning.

Fast and Simple Occlusion Culling

Wagner Corrêa (Princeton University), James Klosowski (IBM Research), Cláudio Silva (AT&T Labs-Research)
Game Programming Gems 3, 2002.
Abstract: This article describes two occlusion culling algorithms that are practical, effective, and require little preprocessing. The first one is the prioritized-layered projection (PLP) algorithm, which is an approximate algorithm that determines, for a given budget, a set of primitives that is likely to be visible. The second algorithm, cPLP, is a conservative version of PLP that guarantees finding all visible primitives.

Triangle Strip Creation, Optimizations, and Rendering

Carl S. Marshall (Intel Labs)
Game Programming Gems 3, 2002.
Abstract: This article focuses on how to generate triangle strips from arbitrary 3D polygonal models. We will describe and provide source code for developing long triangle strips. After describing the triangle strip algorithm, we will explain the benefits of triangle strips, the possible pitfalls encountered when creating them, and how to submit them to the graphics API. In addition, several other triangle strip creation algorithms will be reviewed and critiqued.

Computing Optimized Shadow Volumes for Complex Data Sets

Alex Vlachos and Drew Card (ATI Research)
Game Programming Gems 3, 2002.
Abstract: In this article, we describe a method for computing the exact front cap geometry visible from a given static light source. This is the exact geometry that is visible from the light's point of view, and it is useful for calculating shadow volumes. Previous work has been done on this topic; however, most methods suffer from either infinte recursion (with complex polygonal models) or fail to solve for cyclically overlapping polygons. The method presented here also works for scenes that have intersecting polygons.

Subdivision Surfaces for Character Animation

William Leeson (Trinity College, Dublin)
Game Programming Gems 3, 2002.
Abstract: This article introduces subdivision surfaces as a means of improving the appearance of game characters. First, we will present the different schemes available, focusing on two implementations of subdivision surfaces. Then, we will explore a number of optimization methods based on culling and preprocessing.

Improved Deformation of Bones

Jason Weber (Intel Corporation)
Game Programming Gems 3, 2002.
Abstract: This article describes how to avoid joint pinching from typical skinning methods by introducing additional bones at troublesome joints, such as the elbow and knees. By carefully reworking the weighting data to account for these 'links,' we can use the same simple core deformation algorithm and only incur the small additional burden of a few extra bones.

A Framework for Realistic Character Locomotion

Thomas Young (PathEngine)
Game Programming Gems 3, 2002.
Abstract: This article presents a solution to the foot sliding problem based on adjusting the position of the feet only when they are already in motion. A framework is described for applying this idea to the problem of realistic character animation by using independent modifiers for different parts of a skeleton.

A Programmable Vertex Shader Compiler

Adam Lake (Intel Labs)
Game Programming Gems 3, 2002.
Abstract: This article discusses the implementation of a compiler for programmable vertex shaders. Provided with the article is a full implementation of a simple vertex shader compiler. It also contains documentation on how to create a workspace for building compilers and an example that compiles the OpenGL lighting equation into a DirectX vertex shader. To give a practical foundation for this article, we are focusing on the vertex shader implementation in DirectX8. Future implementations might vary, but the framework and infrastructure we provide should still be applicable.

Billboard Beams

Brian Hawkins (Seven Studios)
Game Programming Gems 3, 2002.
Abstract: This article shows how to create the illusion of a 3D beam by using two triangles for the endpoints and two triangles for the beam. The details of positioning and texture mapping of the triangles are analyzed in the article.

3D Tricks for Isometric Engines

Greg Snook (Bungie Studios)
Game Programming Gems 3, 2002.
Abstract: Isometric engines are one of the last bastions of two-dimensional graphics left in the game industry. While this article proposes some 3D methods to enhance what is essentially a sprite-based display system, it tries to preserve the essence of sprite-based graphics. While you could simply represent a majority of the game objects with 3D models to get the same visual effect, the ideas presented here maintain the use of sprites by adding a few tricks to make them appear as flexible as 3D models. The concepts may also be useful in other 3D engines as a replacement for flat billboard sprites or as a means to represent distant objects at a lower level of detail.

Curvature Simulation Using Normal Maps

Oscar Blasco (Aside Software)
Game Programming Gems 3, 2002.
Abstract: This article explains how to perturb the normals on a surface to simulate the curvature of a denser model by using bump mapping. We will enhance the visual quality without losing speed or having to abandon more traditional ways of adding detail.

Methods for Dynamic, Photorealistic Terrain Lighting

Naty Hoffman and Kenny Mitchell (Westwood Studios)
Game Programming Gems 3, 2002.
Abstract: This article will present several methods for producing high-quality, physically based lighting solutions for terrain under dynamic lighting conditions. Topics include: Sunlight (Horizon Angles, Shadow Ellipses, and PTMs), Skylight (Radiosity Approximations and Patches), Animated Cloud Shadows, Video-Based Solutions, and Nonterrain Objects.

Cube Map Lighting Techniques

Kenneth L. Hurley
Game Programming Gems 3, 2002.
Abstract: This article will describe some ways to encode different lighting conditions as well as other properties within cube maps. It will give a brief overview of the properties of cube maps and how to index into them. Topics include: Physical Properties of Cube Maps, Getting data to/from a Cube Map, Rendering with the Cube Map, Encoding Cloud Cover, Encoding Lights in a Cube Map, Encoding Diffuse Lighting in a Cube Map, and Encoding a Day/Night Cycle into a Cube Map.

Procedural Texturing

Mike Milliger (2015, Inc.)
Game Programming Gems 3, 2002.
Abstract: The goal of this article is to introduce basic concepts for using procedures to manipulate and synthesize images for games and to give simple guidelines for implementation.

Unique Textures

Tom Forsyth (Mucky Foot)
Game Programming Gems 3, 2002.
Abstract: This article explores how to use a relatively small number of artist-generated source textures and combine them at runtime using a variety of blends, fractal methods, and random numbers to create the textures required for the scene.

Textures as Lookup Tables for Per-Pixel Lighting Computations

Alex Vlachos, John Isidoro, and Chris Oat (ATI Research)
Game Programming Gems 3, 2002.
Abstract: In this article, we show ways to use texture maps as a means to solve functions through a lookup table, focusing on lighting computations. This technique saves precious pixel shader instructions, and in many cases, it is the only way to make certain per-pixel effects possible on the current generation of hardware.

Rendering with Handcrafted Shading Models

Jan Kautz (Max-Plank-Institut für Informatik)
Game Programming Gems 3, 2002.
Abstract: This article proposes a simple technique called normal distribution function (NDF) shading. It allows an artist to handcraft shading models, with the shape and color of highlights simply stored in bitmaps. The technique uses per-pixel shading, and can also be used in conjunction with bump mapping. Anisotropic shading models can also be created.

Introduction to Vertex and Pixel Shader Programming

Wolfgang F. Engel
ShaderX, 2002.

Basic Shader Development with Shader Studio

John Schwab
ShaderX, 2002.

Vertex Decompression using Vertex Shaders

Dean Calver
ShaderX, 2002.

Shadow Volume Extrusion using a Vertex Shader

Chris Brennan
ShaderX, 2002.

Character Animation with Direct3D Vertex Shaders

David Gosselin
ShaderX, 2002.

Lighting A Single-Surface Object

Greg James
ShaderX, 2002.

Optimizing Software Vertex Shaders

Kim Pallister
ShaderX, 2002.

Compendium of Vertex Shader Tricks

Scott Le Grand
ShaderX, 2002.

Perlin Noise and Returning Results from Shader Programs

Steven Riddle and Oliver C. Zecha
ShaderX, 2002.

Blending Textures For Terrain

Alex Vlachos
ShaderX, 2002.

Image Processing with Pixel Shaders in Direct3D

Jason L. Mitchell
ShaderX, 2002.

Hello World - Font Smoothing with Pixel Shaders

Steffen Bendel
ShaderX, 2002.

Disc or Sphere - Emulate Geometry with Shaders - Impostors

Steffen Bendel
ShaderX, 2002.

Smooth Lighting with ps.1.4

Steffen Bendel
ShaderX, 2002.

Per Pixel Fresnel Term

Chris Brennan
ShaderX, 2002.

Diffuse Cube Mapping

Chris Brennan
ShaderX, 2002.

Accurate Environment Mapped Reflections and Refractions by Adjusting for Object Distance

Chris Brennan
ShaderX, 2002.

UV Flipping Technique to Avoid Repetition

Alex Vlachos
ShaderX, 2002.

Photo Realistic Faces with Vertex and Pixel Shaders

Kenneth L. Hurley
ShaderX, 2002.

Non-Photorealistic Rendering with Pixel and Vertex Shaders

Drew Card and Jason L. Mitchell
ShaderX, 2002.

Animated Grass with Pixel and Vertex Shaders

John Isidoro and Drew Card
ShaderX, 2002.

Texture Perturbation Effects

John Isidoro and Guennadi Riguer
ShaderX, 2002.

Rendering Ocean Water

John Isidoro, Alex Vlachos, Chris Brennan
ShaderX, 2002.

Rippling Refractive and Reflective Water

Alex Vlachos, John Isidoro and Chris Oat
ShaderX, 2002.

Crystal/Candy Shader

John Isidoro and David Gosselin
ShaderX, 2002.

Bubble Shader

John Isidoro and David Gosselin
ShaderX, 2002.

Per-pixel Strand Based Anisotropic Lighting

John Isidoro and Chris Brennan
ShaderX, 2002.

A Non-Integer Power Function on the Pixel Shader

Philippe Beaudoin and Juan Guardado
ShaderX, 2002.

Bump Mapped BRDF Rendering

Ádám Moravánszky
ShaderX, 2002.

Real-Time Simulation and Rendering of Particle Flows

Daniel Weiskopf and Matthias Hopf
ShaderX, 2002.

3D Textures and Pixel Shaders

Evan Hart
ShaderX, 2002.

Truly Volumetric Effects

Martin Kraus
ShaderX, 2002.

First Thoughts on Designing a Shader-Driven Game Engine

Steffen Bendel
ShaderX, 2002.

Visualization with the Krass© Game-Engine

Ingo Frick
ShaderX, 2002.

Designing a Vertex Shader-Driven 3D Engine for the Quake III level and Shader Format

Bart Sekura
ShaderX, 2002.

Comparison of VIPM Methods

Tom Forsyth (Mucky Foot Productions)
Game Programming Gems 2, 2001.
Abstract: View-Independent Progressive Meshing (VIPM) has moved from the status of an interesting research project, to promising new technology, to sensible addition to all the best engines, and now into the Direct3D graphics API itself. However, in an effort to push the performance of VIPM, and in particular to drive the hardware as efficiently as possible, several new forms have been developed, each with their own tradeoffs and characteristics. This article is intended as a guide to some of the more promising versions, and should help people decide which of the many variants to sue in particular situations.

Simplified Terrain Using Interlocking Tiles

Greg Snook
Game Programming Gems 2, 2001.
Abstract: This article proposes a simple method for interlocking tiles that requires a minimal amount of coding. The technique offers the benefits of dynamically adapting detail levels and animation flexibility. It does this while maintaining a data system that is perfectly suited for hardware transform and lighting.

Sphere Trees for Fast Visibility Culling, Ray Tracing, and Range Searching

John W. Ratcliff (Sony Online Entertainment)
Game Programming Gems 2, 2001.
Abstract: The article presents an algorithm and demonstration application that manages thousands of objects in motion that are continuously maintained as a collection of hierarchical bounding spheres in a SphereTree. The design goal for this algorithm has been to make the 99-percentile case spend almost no CPU time updating an object in motion within the tree structure. Queries against the SphereTree perform more tests than other data structures, but this is mitigated by the fact that the tree can be maintained using very little CPU time. This data structure is ideally suited for gross culling of massive numbers of moving objects in a large world space. It doesn't matter if the objects are moving at widely disparate speeds, or even if many of them are not in motion at all. It also has a very low cost when objects are inserted and removed from the tree with great frequency.

Compressed Axis-Aligned Bounding Box Trees

Miguel Gomez (Lithtech)
Game Programming Gems 2, 2001.
Abstract: The axis-aligned bounding box (AABB) tree structure has proven to be very useful for accelerating intersection queries on sets of geometry. The data structure is easy to implement, the built structure is numerically well conditioned, and like all binary trees, they have O(log n) search time. This article explains several techniques that can be used to lower the overall memory footprint of an AABB tree to 11 bytes per triangle.

Direct Access Quadtree Lookup

Matt Pritchard (Ensemble Studios)
Game Programming Gems 2, 2001.
Abstract: This article presents a general-purpose optimization for quadtree access that improves performance in three ways over the traditional implementations: 1) by eliminating node traversal and the unnecessary cache-misses it causes, 2) by requiring fewer instructions and CPU cycles overall vs. a best case traditional approach, and 3) by doing so in a compact amount of time and with minimal memory accesses regardless of what depth in the tree the target node resides in.

Approximating Fish Tank Refractions

Alex Vlachos (ATI Research)
Game Programming Gems 2, 2001.
Abstract: This article briefly explains a method for approximating the refraction effect seen when looking through the side of a fish tank. The majority of this article explains how to construct the transformation matrix that will be applied to the geometry inside the tank to simulate the refraction effect.

Rendering Print Resolution Screenshots

Alex Vlachos and Evan Hart (ATI Research)
Game Programming Gems 2, 2001.
Abstract: This article proposes a solution of breaking the task into rendering several smaller subimages. These subimages can then be pasted together to form a scr