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
2004

GPU Gems 2
2005

GPU Gems 3
2007

ShaderX
2002

ShaderX2
2003

ShaderX3
2004

ShaderX4
2006

ShaderX5
2006

ShaderX6
2008

ShaderX7
2009

GPU Pro
2010

GPU Pro 2
2011

GPU Pro 3
2012

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 Programming: All Articles


Vertex Shader Tesselation

Holger Gruen
GPU Pro 3

Real-time Deformable Terrain Rendering

Egor Yusov
GPU Pro 3

Optimized Stadium Crowd Rendering

Alan Chambers
GPU Pro 3

Geometric Anti-Aliasing Methods

Emil Persson
GPU Pro 3

Practical Elliptical Texture Filtering

Pavlos Mavridis and Georgios Papaioannou
GPU Pro 3

An Approximation to the Chapman Grazing-Incidence Function for Atmospheric Scattering

Christian Schüler
GPU Pro 3

Volumetric Real-Time Water and Foam Rendering

Daniel Scherzer, Florian Bagar and Oliver Mattausch
GPU Pro 3

CryENGINE 3

Tiago Sousa, Nick Kasyan, and Nicolas Schulz
GPU Pro 3

Inexpensive Anti-Aliasing of Simple Objects

Mikkel Gjol and Mark Gjol
GPU Pro 3

Ray-traced Approximate Reflections Using a Grid of Oriented Splats

Holger Gruen
GPU Pro 3

Screen-space Bent Cones: A Practical Approach

Oliver Klehm, Tobias Ritschel, Elmar Eisemann, Hans-Peter Seidel
GPU Pro 3

Real-time Near-Field Global Illumination based on a Voxel Model

Sinje Thiedemann, Niklas Henrich, Thorsten Grosch, Stefan Mueller
GPU Pro 3

Efficient Online Visibility for Shadow Maps

Oliver Mattausch, Jiri Bittner, Ari Silvnennoinen, Daniel Scherzer and Michael Wimmer
GPU Pro 3

Depth Rejected Gobo Shadows

John White
GPU Pro 3

Z3 Culling

Pascal Gautron, Jean-Eudes Marvie and Gaël Sourimant
GPU Pro 3

Quaternion-based Rendering Pipeline

Dzmitry Malyshau
GPU Pro 3

Implementing a Directionally Adaptive Edge AA Filter using DirectX 11

Matthew Johnson
GPU Pro 3

Designing a Data-Driven Renderer

Donal Revie
GPU Pro 3

Volumetric transparency with Per-Pixel Fragment Lists

Laszlo Szecsi, Pal Barta and Balazs Kovacs
GPU Pro 3

Practical Binary Surface and Solid Voxelization with Direct3D 11

Michael Schwarz
GPU Pro 3

Interactive Ray Tracing Using the Compute Shader in DirectX 11

Arturo Garca, Francisco Avila, Sergio Murgua and Leo Reyes
GPU Pro 3

Terrain and Ocean Rendering with Hardware Tesselation

Xavier Bonaventura
GPU Pro 2

Practical and Realistic Facial Wrinkles Animation

Jorge Jimenez, Jose I. Echevarria, Christopher Oat and Diego Gutierrez
GPU Pro 2

Procedural Content Generation on GPU

Aleksander Netzel and Pawel Rohleder
GPU Pro 2

Pre-Integrated Skin Shading

Eric Penner and George Borshukov
GPU Pro 2

Implementing Fur in Deferred Shading

Donald Revie
GPU Pro 2

Large-Scale Terrain Rendering for Outdoor Games

Ferenc Pintér
GPU Pro 2

Practical Morphological Anti-Aliasing

Jorge Jimenez, Belen Masia, Jose I. Echevarria, Fernando Navarro and Diego Gutierrez
GPU Pro 2

Volume Decals

Emil Persson
GPU Pro 2

Temporal Screen-Space Ambient Occlusion

Oliver Mattausch, Daniel Scherzer and Michael Wimmer
GPU Pro 2

Level-of-Detail and Streaming Optimized Irradiance Normal Mapping

Ralf Habel, Anders Nilsson and Michael Wimmer
GPU Pro 2

Real-Time One-bounce Indirect Illumination and Indirect Shadows using Ray-Tracing

Holger Gruen
GPU Pro 2

Real-Time Approximation of Light Transport in Translucent Homogenous Media

Colin Barré-Brisebois and Marc Bouchard
GPU Pro 2

Real-time diffuse Global Illumination with Temporally Coherent Light Propagation Volumes

Anton Kaplanyan, Wolfgang Engel and Carsten Dachsbacher
GPU Pro 2

Variance Shadow Maps Light-Bleeding Reduction Tricks

Wojciech Sterna
GPU Pro 2

Fast Soft Shadows via Adaptive Shadow Maps

Pavlo Turchyn
GPU Pro 2

Adaptive Volumetric Shadow Maps

Marco Salvi, Kiril Vidimce, Andrew Lauritzen, Aaron Lefohn, Matt Pharr
GPU Pro 2

Fast Soft Shadows with Temporal Coherence

Daniel Scherzer, Michael Schwä rzler and Oliver Mattausch
GPU Pro 2

MipMapped Screen Space Soft Shadows

Alberto Aguado and Eugenia Montiel
GPU Pro 2

A Shader-Based E-Book Renderer

Andrea Bizzotto
GPU Pro 2

Post-Processing Effects on Mobile Devices

Marco Weber and Peter Quayle
GPU Pro 2

Shader Based Water Effects

Joe Davis and Ken Catterall
GPU Pro 2

Practical, Dynamic Visibility for Games

Stephen Hill and Daniel Collin
GPU Pro 2

Shader Amortization using Pixel Quad Message Passing

Eric Penner
GPU Pro 2

A Rendering Pipeline for Real-time Crowds

Benjamín Hernández and Isaac Rudomin
GPU Pro 2

2D Distance Field Generation with the GPU

Philip Rideout
GPU Pro 2

Order-Independent Transparency Using Per-Pixel Linked Lists in DirectX 11

Nicolas Thibieroz
GPU Pro 2

Simple and Fast Fluid Flow Simulation on the GPU

Martin Guay, Fabrice Colin and Richard Egli
GPU Pro 2

A Fast Poisson Solver for OpenCL using Multigrid Methods

Sebastien Noury, Samuel Boivin and Olivier Le Maître
GPU Pro 2

GPU Color Quantization

Chi Sing Leung, Tze-Vui Ho, and Vi Xiao
GPU Pro"

Visualize Your Shadow Map Techniques

Fan Zhang, Chong Zhao, and Adrian Egli
GPU Pro"

As Simple as Possible Tessellation for Interactive Applications

Tamy Boubekeur
GPU Pro"

Rule-Based Geometry Synthesis in Real-Time

Milan Magdics and Gergely Klar
GPU Pro"

GPU-Based NURBS Geometry Evaluation and Rendering

Graham Hemingway
GPU Pro"

Polygonal-Functional Hybrids for Computer Animation and Games

D. Kravtsov, O. Fryazinov, V. Adzhiev, A. Pasko, and P. Comninos
GPU Pro"

Quadtree Displacement Mapping with Height Blending

Michal Drobot
GPU Pro"

NPR Effects Using the Geometry Shader

Pedro Hermosilla and Pere-Pau Vazquez
GPU Pro"

Alpha Blending as a Post-Process

Benjamin Hathaway
GPU Pro"

Virtual Texture Mapping

Matthaus G. Chajdas, Christian Eisenacher, Marc Stamminger, and Sylvain Lefebvre
GPU Pro"

Fast, Stencil-Based Multiresolution Splatting for Indirect Illumination

Chris Wyman, Greg Nichols, and Jeremy Shopf
GPU Pro"

Screen-Space Directional Occlusion

Thorsten Grosch and Tobias Ritschel
GPU Pro"

Real-Time Multi-Bounce Ray-Tracing with Geometry Impostors

Peter Dancsik and Laszlo Szecsi
GPU Pro"

Anisotropic Kuwahara Filtering on the GPU

Jan Eric Kyprianidis, Henry Kang, and Jiirgen Dollner
GPU Pro"

Edge Anti-Aliasing

Post-Processing, Hugh Malan
GPU Pro"

Environment Mapping with Floyd-Steinberg Halftoning

Laszlo Szirmay-Kalos, Laszlo Szecsi, and Anton Penzov
GPU Pro"

Hierarchical Item Buffers for Granular Occlusion Culling,

Thomas Engelhardt and Carsten Dachsbacher
GPU Pro"

Realistic Depth of Field in Postproduction

David Illes and Peter Horvath
GPU Pro"

Real-Time Screen Space Cloud Lighting

Kaori Kubota
GPU Pro"

Screen-Space Subsurface Scattering

Jorge Jimenez and Diego Gutierrez
GPU Pro"

Migration to OpenGL ES 2.0

Ken Catterall
GPU Pro"

Touchscreen-Based User Interaction

Andrea Bizzotto
GPU Pro"

iPhone 3GS Graphics Development and Optimization Strategies

Andrew Senior
GPU Pro"

Optimizing a 3D UI Engine for Mobile Devices

Hyunwoo Ki
GPU Pro"

Fast Conventional Shadow Filtering

Holger Gruen
GPU Pro"

Hybrid Min/Max Plane-Based Shadow Maps

Holger Gruen
GPU Pro"

Shadow Mapping for Omnidirectional Light Using Tetrahedron Mapping

Hung-Chien Liao
GPU Pro"

Screen Space Soft Shadows

Jesus Gumbau, Miguel Chover, and Mateu Sbert
GPU Pro"

Multi-Fragment Effects on the GPU Using Bucket Sort

Meng-Cheng Huang, Fang Liu, Xue-Hui Liu, and En-Hua Wu
GPU Pro"

Parallelized Light Pre-Pass Rendering with the Cell Broadband Engine

Steven Tovey and Stephen McAuley
GPU Pro"

Porting Code between Direct3D9 and OpenGL 2.0

Wojciech Sterna
GPU Pro"

Practical Thread Rendering for DirectX 9

David Pangerl
GPU Pro"

Stylized Rendering in Spore

Shalin Shodhan and Andrew Willmott
GPU Pro"

Rendering Techniques in Call of Juarez: Bound in Blood

Pawel Rohleder and Maciej Jamrozik
GPU Pro"

Making it Large, Beautiful, Fast, and Consistent: Lessons Learned Developing Just Cause 2

Emil Persson
GPU Pro"

Destructible Volumetric Terrain

Marek Rosa
GPU Pro"

Parallelized Implementation of Universal Visual Computer

Tze-Yui Ho, Ping-Man Lam, and Chi-Sing Leung
GPU Pro"

Accelerating Virtual Texturing Using CUDA

Charles-Frederik Hollemeersch, Bart Pieters, Peter Lambert, and Rik Van de Walle
GPU Pro"

Efficient Rendering of Highly Detailed Volumetric Scenes with GigaVoxels

Cyril Crassin, Fabrice Neyret, Miguel Sainz, and Elmar Eisemann
GPU Pro"

Spatial Binning on the GPU

Christopher Oat, Joshua Barczak, and Jeremy Shopf
GPU Pro"

Real-Time Interaction between Particles and the Dynamic Mesh on the GPU

Vlad Alexandrov
GPU Pro"

Scalar to Polygonal Extracting Isosurfaces Using Geometry Shaders

Natalya Tatarchuk, Jeremy Shopf, and Chris DeCoro
ShaderX7

Fast Tessellation of Quadrilateral Patches for Dynamic Level of Details

Carlos A. Dietrich, Luciana P. Nedel and Joăo L. D. Comba
ShaderX7

Dynamic Terrain Rendering on GPU Using Real-Time Tessellation

Natalya Tatarchuk
ShaderX7

Adaptive Re-Meshing for Displacement Mapping

Rafael P. Torchelsen, Carlos A. Dietrich, Luís Fernando, M. S. Silva, Rui Bastos, and Joăo L. D. Comba
ShaderX7

Fast Tessellation of Quadrilateral Patches for Dynamic Level of Details

Carlos A. Dietrich, Luciana P. Nedel and Joăo L. D. Comba
ShaderX7

Quick Noise for GPUs

Doug E. Smith
ShaderX7

Efficient Soft Particles

Gilberto Rosado
ShaderX7

Simplified High Quality Anti-aliased Lines

Stephen Coy
ShaderX7

Fast Skin Shading

John Hable, George Borshukov, and Jim Hejl
ShaderX7

An Efficient and Physically Plausible Real Time Shading Model

Christian Schüler
ShaderX7

Graphics Techniques in Crackdown

Hugh Malan
ShaderX7

Deferred Rendering Transparency

David Pangerl
ShaderX7

Deferred Shading with Multisampling Anti-Aliasing in DirectX 10

Nicolas Thibieroz
ShaderX7

Light Indexed Deferred Rendering

Damian Trebilco
ShaderX7

Efficient Post-processing with Importance Sampling

Balázs Tóth, László Szirmay-Kalos, and Tamás Umenhoffer
ShaderX7

Efficient Real-Time Motion Blur for Multiple Rigid Objects

Ben Padget
ShaderX7

Real-time Flow-based Image Abstraction

Jan Eric Kyprianidis and Jürgen Döllner
ShaderX7

Practical Cascaded Shadow Maps

Fan Zhang, Alexander Zaprjagaev, Allan Bentham
ShaderX7

A Hybrid Method for Interactive Shadows in Homogeneous Media

Chris Wyman and Shaun Ramsey
ShaderX7

Real-time Dynamic Shadows for Image-based Lighting

Mark Colbert, Jaroslav Krivánek
ShaderX7

Facetted Shadow Mapping for Large Dynamic Game Environments

Ray Tran
ShaderX7

Dynamic Weather Effects

Charlie Birtwistle and Stephen McAuley
ShaderX7

Interactive Hydraulic Erosion on the GPU

Ondrej Štava, Bedrich Beneš, and Jaroslav Krivánek
ShaderX7

Advanced Geometry for Complex Sky Representation

James Sun
ShaderX7

Screen Space Ambient Occlusion

Vladimir Kajalin
ShaderX7

Image-Space Horizon-Based Ambient Occlusion

Louis Bavoil and Miguel Sainz
ShaderX7

Deferred Occlusion from Analytic Surfaces

Jeremy Shopf, Joshua Barczak, Thorsten Scheuermann, Christopher Oat
ShaderX7

Fast Fake Global Illumination

Emmanuel Briney, Victor Ceitelis and David Crémoux
ShaderX7

Real-Time Subsurface Scattering using Shadow Maps

Hyunwoo Ki
ShaderX7

Instant Radiosity with GPU Photon Tracing and Approximate Indirect Shadows

László Szécsi
ShaderX7

Variance Methods for Screen-Space Ambient Occlusion

Angelo Pesce
ShaderX7

Per-Pixel Ambient Occlusion using Geometry Shaders

Dave Bookout
ShaderX7

Optimizing your first OpenGL ES Applications

Kristof Beets, Mikael Gustavsson, Erik Olsson
ShaderX7

Optimised Shaders for Advanced Graphical User Interfaces

Ken Catterall
ShaderX7

Facial Animation for Mobile GPUs

Andrew Senior
ShaderX7

Augmented Reality on Mobile Phones

Daniel Wagner, Lukas Gruber, Dieter Schmalstieg
ShaderX7

Cross Platform Rendering Thread: Design and Implementation

Guillaume Blanc
ShaderX7

Advanced GUI System for Games

Pawel Rohleder
ShaderX7

Automatic Load Balancing Shader Framework

Gabriyel Wong and Jianliang Wang
ShaderX7

Game Engine Friendly Occlusion Culling

Jiri Bittner, Oliver Mattausch, Michael Wimmer
ShaderX7

Designing a Renderer for Multiple Lights - The Light Pre-Pass Renderer

Wolfgang Engel
ShaderX7

Using LUV color space with the Light Pre-Pass Renderer

Pat Wilson
ShaderX7

Elemental Engine II

Kenneth Hurley
ShaderX7

Sliced Grid: A Memory and Computationally Efficient Data Structure for Particle-based Simulation on the GPU

Takahiro Harada
ShaderX7

Free-Viewpoint Video on the GPU

Marcos Avilés and Francisco Morán
ShaderX7

A Volume Shader for Quantum Voronoi Diagrams inside the 3D Bloch Ball

Frank NIELSEN
ShaderX7

Packing Arbitrary Bit Fields into 16-bit Floating-point Render Targets in DirectX 10

Nicolas Thibieroz
ShaderX7

Interactive Image Morphing Using Thin-Plate Spline

Xiaopei Liu, Liang Wan, Xuemiao Xu, Tien-Tsin Wong, Chi-Sing Leung
ShaderX7

Fast Evaluation of Subdivision Surfaces on Direct3D 10 Graphics Hardware

György Antal and László Szirmay-Kalos
ShaderX6

Improved Appearance Variety for Geometry Instancing

Jonathan Maďm and Daniel Thalmann
ShaderX6

Implementing Real-Time Mesh Simplification Using Programmable Geometry Pipeline on GPU

Christopher DeCoro and Natalya Tatarchuk
ShaderX6

Care and Feeding of Normal Vectors

Joern Loviscach
ShaderX6

Computing Per-Pixel Object Thickness in a Single Render Pass

Christopher Oat and Thorsten Scheuermann
ShaderX6

Filtered Tilemaps

Sylvain Lefebvre
ShaderX6

Parallax Occlusion Mapping Special Feature Rendering

Jason Zink
ShaderX6

Uniform Cubemap for Dynamic Environments

Tze-Yui Ho, Chi-Sing Leung and Tien-Tsin Wong
ShaderX6

Isocube A Cubemap with Uniformly Distributed and Equally Important Texels

Liang Wan, Tien -Tsin Wong and Chi-Sing Leung
ShaderX6

Practical Geometry Clipmaps for Rendering Terrains in Computer Games

Rafael P. Torchelsen, Joăo L. D. Comba, and Rui Bastos
ShaderX6

Efficient and Practical TileTrees

Carsten Dachsbacher and Sylvain Lefebvre
ShaderX6

Quantized Ring Clipping

David Pangerl
ShaderX6

GPU-Based Active Contours for Real-Time Object Tracking

Natasha Tatarchuk
ShaderX6

Post-Tonemapping Resolve for High Quality HDR Antialiasing in D3D10

Emil Persson
ShaderX6

A Fast, Small-Radius GPU Median Filter

Morgan McGuire
ShaderX6

Per-pixel Motion Blur for Wheels

Damyan Pepper
ShaderX6

Deferred Rendering using a Stencil Routed K-Buffer

Louis Bavoil and Kevin Myers
ShaderX6

HDR Meets Black & White 2

Francesco Caruzzi
ShaderX6

Robust Order-Independent Transparency via Reverse Depth Peeling in DirectX 10

Nick Thibieroz
ShaderX6

Stable Rendering of Cascaded Shadow maps

Michal Valient
ShaderX6

Approximate Cumulative Distribution Function Shadow Mapping

Holger Gruen
ShaderX6

Rendering Filtered Shadows with Exponential Shadow Maps

Marco Salvi
ShaderX6

Fitted Virtual Shadow Maps and Shadow Fog

Markus Giegl
ShaderX6

Removing Shadow Volume Artifacts by Spatial Adjustment

Chi-Sing Leung, Tze-Yui Ho and Tien-Tsin Wong
ShaderX6

Rendering Realistic Ice Objects

Anders Nivfors
ShaderX6

Sunlight with Volumetric Light Rays

Pawel Rohleder
ShaderX6

Procedural Ocean Effects

László Szécsi and Khashayar Arman
ShaderX6

Practical Methods for a PRT-based Shader Using Spherical Harmonics

Jerome Ko, Manchor Ko and Matthias Zwicker
ShaderX6

Incremental Instant Radiosity

Hannu Saransaari, Samuli Laine, Janne Kontkanen, Jaakko Lehtinen and Timo Aila
ShaderX6

Real Time Photon Mapping Approximation on the GPU

Vlad Stamate
ShaderX6

Interactive Global Illumination with Precomputed Radiance Maps

Laszlo Szecsi, László Szirmay-Kalos, and Mateu Sbert
ShaderX6

Shaders Gone Mobile Porting from Direct3D 9.0 to Open GL ES 2.0

Mikey Wetzel
ShaderX6

Efficiently Using Tile-Based GPUs on Mobile Phones

Maurice Ribble
ShaderX6

Maximal Performance and Image Quality with Minimal Precision

Ken Catterall
ShaderX6

Implementing Graphical Benchmark in OpenGL ES 2.0

Szabolcs Horvath, Csaba Keszegh and Laszlo Kishonti
ShaderX6

Every Cycle Counts Level of Detail Shaders

Kristof Beets
ShaderX6

Shadow Techniques for OpenGL ES 2.0

Jonathan Feldstein
ShaderX6

A Flexible Material System in Design

Maxime Beaudoin
ShaderX6

3D Engine Tools with C++ CLI

Wessam Bahnassi
ShaderX6

Efficient HDR Texture Compression

Tze-Yui Ho and Chi-Sing Leung
ShaderX6

An Interactive Tour of Voronoi Diagrams on the GPU

Frank Nielsen
ShaderX6

AMD DirectX 10 Performance Tools and Techniques

Jonathan Zarge, Seth Sowerby and Guennadi Riguer
ShaderX6

Real-Time Audio Processing on the GPU

Fernando Trebien and Manuel M. Oliveira
ShaderX6

n-Body Simulations on the GPU

Jesse Laeuchli
ShaderX6

Generating Complex Procedural Terrains Using the GPU

Ryan Geiss (NVIDIA Corporation)
GPU Gems 3

Animated Crowd Rendering

Bryan Dudash (NVIDIA Corporation)
GPU Gems 3

DirectX 10 Blend Shapes: Breaking the Limits

Tristan Lorach (NVIDIA Corporation)
GPU Gems 3

Next-Generation SpeedTree Rendering

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

Generic Adaptive Mesh Refinement

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

GPU-Generated Procedural Wind Animations for Trees

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

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

Summed-Area Variance Shadow Maps

Andrew Lauritzen (University of Waterloo)
GPU Gems 3

Interactive Cinematic Relighting with Global Illumination

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

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

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

High-Quality Ambient Occlusion

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

Volumetric Light Scattering as a Post-Process

Kenny Mitchell (Electronic Arts)
GPU Gems 3

Advanced Techniques for Realistic Real-Time Skin Rendering

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

Playable Universal Capture

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

Vegetation Procedural Animation and Shading in Crysis

Tiago Sousa (Crytek)
GPU Gems 3

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

Relaxed Cone Stepping for Relief Mapping

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

Deferred Shading in Tabula Rasa

Rusty Koonce (NCsoft Corporation)
GPU Gems 3

GPU-Based Importance Sampling

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

True Impostors

Eric Risser (University of Central Florida)
GPU Gems 3

Baking Normal Maps on the GPU

Diogo Teixeira (Move Interactive)
GPU Gems 3

High-Speed, Off-Screen Particles

Iain Cantlay (NVIDIA Corporation)
GPU Gems 3

The Importance of Being Linear

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

Rendering Vector Art on the GPU

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

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

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

Motion Blur as a Post-Processing Effect

Gilberto Rosado (Rainbow Studios)
GPU Gems 3

Practical Post-Process Depth of Field

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

Real-Time Rigid Body Simulation on GPUs

Takahiro Harada (University of Tokyo)
GPU Gems 3

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

Fast N-Body Simulation with CUDA

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

Broad-Phase Collision Detection with CUDA

Scott Le Grand (NVIDIA Corporation)
GPU Gems 3

LCP Algorithms for Collision Detection Using CUDA

Peter Kipfer (Havok)
GPU Gems 3

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

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

Fast Virus Signature Matching on the GPU

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

AES Encryption and Decryption on the GPU

Takeshi Yamanouchi,(SEGA Corporation)
GPU Gems 3

Efficient Random Number Generation and Application Using CUDA

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

Imaging Earth's Subsurface Using CUDA

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

Parallel Prefix Sum (Scan) with CUDA

Mark Harris (NVIDIA Corporation)
GPU Gems 3

Incremental Computation of the Gaussian

Ken Turkowski (Adobe Systems)
GPU Gems 3

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

Franck Diard (NVIDIA Corporation)
GPU Gems 3

Smoothed N-Patches

Holger Gruen
ShaderX5

Micro-beveled Edges

Homam Bahnassi and Wessam Bahnassi
ShaderX5

Dynamic Wrinkle Patterns and Hatching on Animated Meshes

Jörn Loviscach
ShaderX5

Cloth without Cloth

Homam Bahnassi and Wessam Bahnassi
ShaderX5

A Simple Area Light Model for GPUs

Aick in der Au
ShaderX5

Alpha-to-Coverage in Depth

Kevin Myers
ShaderX5

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

Natalya Tatarchuk
ShaderX5

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

Max Dennis Luesebrink and Kurt Pelzer
ShaderX5

Overcoming Deferred Shading Drawbacks

Frank Puig Placeres
ShaderX5

Normal Mapping without Precomputed Tangents

Christian Schüler
ShaderX5

Animating Vegetation Using GPU Programs

Ali Botorabi
ShaderX5

ZT-Buffer Algorithm

David Pangerl
ShaderX5

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

David Gillham
ShaderX5

Selective Supersampling

Emil Persson
ShaderX5

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

Guodong Rong and Tiow-Seng Tan
ShaderX5

Cascaded Shadow Maps

Wolfgang Engel
ShaderX5

Multisampling Extension for Gradient Shadow Maps

Christian Schüler
ShaderX5

Alias-Free Hard Shadows with Geometry Maps

László Szécsi
ShaderX5

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

John R. Isidoro
ShaderX5

Queried Virtual Shadow Maps

Markus Giegl and Michael Wimmer
ShaderX5

Real-time Soft Shadows with Shadow Accumulation

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

Spherical Billboards for Rendering Volumetric Data

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

Per-Pixel Lit, Light Scattering Smoke

Aurelio Reis
ShaderX5

Volumetric Clouds and Mega-Particles

Homam Bahnassi and Wessam Bahnassi
ShaderX5

Rendering Multiple Layers of Rain with a Postprocessing Composite Effect

Natalya Tatarchuk
ShaderX5

Animation and Rendering of Underwater God Rays

Stefano Lanza
ShaderX5

Irradiance Volumes for Real-time Rendering

Chris Oat
ShaderX5

Indirect Diffuse and Glossy Illumination on the GPU

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

Interactive Refractions and Caustics Using Image-Space Techniques

Chris Wyman
ShaderX5

Splatting of Diffuse and Glossy Indirect Illumination

Carsten Dachsbacher and Marc Stamminger
ShaderX5

OpenGL ES 2.0: Shaders for Mobile Devices

Kristof Beets
ShaderX5

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

Dan Ginsburg
ShaderX5

OpenGL ES 2.0 Performance Recommendations for Mobile Devices

Kristof Beets
ShaderX5

Real-time Tile-Based Texture Synthesis Using Nonregular Grids

Georg Kolling
ShaderX5

Cartoon Fire Effects Using OpenGL ES 2.0

David Minor
ShaderX5

Postprocessing Effects in Design

Aurelio Reis
ShaderX5

Transparent Shader Data Binding

Dustin Franklin
ShaderX5

Designing Plug-in Shaders with HLSL

Wessam Bahnassi
ShaderX5

Shader System Integration: Nebula2 and 3ds Max

Kim Hyoun Woo
ShaderX5

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

Interactive Image Segmentation Based on GPU Cellular Automata

Frank Nielsen
ShaderX5

Real-time Cellular Texturing

Andrew Griffiths
ShaderX5

Collision Detection Shader Using Cube-Maps

Rahul Sathe
ShaderX5

A GPU Panorama Viewer for Generic Camera Models

Frank Nielsen
ShaderX5

Explicit Early-Z Culling for Efficient Fluid Flow Simulation

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

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

Implementing High-Quality PRNG on GPUs

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

Print Shader for Debugging Pixel Shaders

Alexander Ehrath
ShaderX5

Better Geometry Batching Using Light Buffers

Renaldas Zioma
ShaderX4

Practical Cloth Simulation on Modern GPUs

Cyril Zeller
ShaderX4

Shader Implementation of Discrete Wavelet Transform

Tien-Tsin Wong and Chi-Sing Leung
ShaderX4

Morph Target Animation Using DirectXMorph

Christian Kleinhuis
ShaderX4

Real-Time Character Animation on the GPU

Michael Nischt and Elisabeth André
ShaderX4

AntiTextures

Wessam Bahnassi
ShaderX4

Interlaced Rendering

Oles V. Shishkovtsov
ShaderX4

Triangle Mesh Tangent Space Calculation

Martin Mittring
ShaderX4

Hardware-Based Ambient Occlusion

Dustin Franklin
ShaderX4

Ambient Occlusion Fields

Janne Kontkanen and Samuli Laine
ShaderX4

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

Fábio Policarpo and Manuel M. Oliveira
ShaderX4

Real-Time Obscurances with Color Bleeding

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

Bump My Shiny Metal

Andrew Aksyonoff
ShaderX4

Ray-Traced Fog Volumes

Holger Grün and Marco Spoerl
ShaderX4

Dynamic Global Illumination Using Tetrahedron Environment Mapping

Imagire Takashi
ShaderX4

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

Joachim Diepstraten and Tibor Schütz
ShaderX4

Dynamic Glossy Environment Reflections Using Summed-Area Tables

Justin Hensley and Thorsten Scheuermann
ShaderX4

Real-Time Caustics by GPU

Masahiko Nitanda
ShaderX4

Dot-Product for Efficient Detail Texture Mapping

Renaldas Zioma
ShaderX4

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

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

I3: Interactive Indirect Illumination

Carsten Dachsbacher and Marc Stamminger
ShaderX4

Texture Compression with Coefficient Domain Shaders

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

Motion Blurring Environment Maps

Jason Mitchell
ShaderX4

Simulating the Visual Effects of a Video Recording System

Joachim Diepstraten
ShaderX4

Soft Projected Shadows

Aras PranckevicĄius
ShaderX4

Eliminate Surface Acne with Gradient Shadow Mapping

Christian Schüler
ShaderX4

Real-Time Soft Shadows Using the PDSM Technique

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

Robust Shadow Mapping with Light-Space Perspective Shadow Maps

Michael Wimmer and Daniel Scherzer
ShaderX4

Making Shadow Buffers Robust Using Multiple Dynamic Frustums

Tom Forsyth
ShaderX4

Tips and Tricks for D3DX Effects Based Renderer

Aras PranckevicĄius
ShaderX4

Post-Processing Effects Scripting

Gilberto Rosado
ShaderX4

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

Wolfgang Engel
ShaderX4

Real-Time Damage Deformation Methods

Vlad Stamate
ShaderX4

Ray Tracing Effects without Tracing Rays

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

Implementing Ray Tracing on the GPU

Martin Christen
ShaderX4

GPU-Powered Pathfinding Using Preprocessed Navigation Mesh Approach

Renaldas Zioma
ShaderX4

Winter Wonderland

Bryan Dudash
ShaderX4

Rendering Snow Cover

Gilberto Rosado
ShaderX4

Cached Procedural Textures for Terrain Rendering

Carsten Dachsbacher and Marc Stamminger
ShaderX4

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

Yung-feng Chi
ShaderX4

The SuperShader

Morgan McGuire
ShaderX4

Implementing Radiosity for a Light Map Precomputation Tool

Florian Born
ShaderX4

Indicator Materials

Kurt Pelzer
ShaderX4

Dynamic Branching on Non-PS3.0 Hardware

Emil Persson
ShaderX4

GLSL Shader Debugging with GLIntercept

Damian Trebilco
ShaderX4

GPU Performance of DirectX 9 Per-Fragment Operations Revisited

Mike EiBelle
ShaderX4

Preprocessed Pathfinding Using the GPU

Renaldas Zioma (Digital Illusions Canada Inc.)
AI Game Programming Wisdom 3
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
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

BSP Techniques

Octavian Marius Chincisan
Game Programming Gems 6

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

Spatial Partitioning Using an Adaptive Binary Tree

Martin Fleisz
Game Programming Gems 6

Enhanced Object Culling with (Almost) Oriented Bounding Boxes

Ben St. John (Siemens)
Game Programming Gems 6

Skin Splitting for Optimal Rendering

Dominic Filion
Game Programming Gems 6

GPU Terrain Rendering

Harald Vistnes
Game Programming Gems 6

Interactive Fluid Dynamics and Rendering on the GPU

Frank Luna
Game Programming Gems 6

Fast Per-Pixel Lighting with Many Lights

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

Rendering Road Signs Sharply

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

Practical Sky Rendering for Games

Aurelio Reis (Raven Software)
Game Programming Gems 6

High Dynamic Range Rendering Using OpenGL Frame Buffer Objects

Allen Sherrod (Ultimate Game Programming)
Game Programming Gems 6

Realistic Cloud Rendering on Modern GPUs

Jean-Francois Dube (Ubisoft)
Game Programming Gems 5

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

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

Widgets: Rendering Fast and Persistent Foliage

Martin Brownlow
Game Programming Gems 5

2.5 Dimensional Impostors for Realistic Trees and Forrests

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

Gridless Controllable Fire

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

Powerful Explosion Effects Using Billboard Particles

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

A Simple Method for Rendering Gemstones

Thorsten Scheuermann (ATI Research)
Game Programming Gems 5

Volumetric Post-Processing

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

Procedural Level Generation

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

Recombinant Shaders

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

Towards Photorealism in Virtual Botany

David Whatley (Simutronics Corporation)
GPU Gems 2

Terrain Rendering using GPU-Based Geometry Clipmaps

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

Inside Geometry Instancing

Francesco Carucci (Lionhead Studios)
GPU Gems 2

Segment Buffering

Jon Olick (2015)
GPU Gems 2

Optimizing Resource Management with Multi-Streaming

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

Hardware Occlusion Queries Made Useful

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

Adaptive Tessellation of Subdivision Surfaces with Displacement Mapping

Michael Bunnell (NVIDIA Corporation)
GPU Gems 2

Per-Pixel Displacement Mapping with Distance Functions

William Donnelly (University of Waterloo)
GPU Gems 2

Deferred Shading in STALKER

Oles Shishkovtsov (GSC Game World)
GPU Gems 2

Real-Time Computation of Dynamic Irradiance Environment Maps

Gary King (NVIDIA Corporation)
GPU Gems 2

Approximate Bidirectional Texture Functions

Jan Kautz (Massachusetts Institute of Technology)
GPU Gems 2

Tile-Based Texture Mapping

Li-Yi Wei (NVIDIA Corporation)
GPU Gems 2

Implementing the Mental Images Phenomena Renderer on the GPU

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

Dynamic Ambient Occlusion and Indirect Lighting

Michael Bunnell (NVIDIA Corporation)
GPU Gems 2

Blueprint Rendering and "Sketchy Drawings"

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

Accurate Atmospheric Scattering

Sean O'Neil
GPU Gems 2

Efficient Soft-Edged Shadows Using Pixel Shader Branching

Yury Uralsky (NVIDIA Corporation)
GPU Gems 2

Using Vertex Texture Displacement for Realistic Water Rendering

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

Generic Refraction Simulation

Tiago Sousa (Crytek)
GPU Gems 2

Fast Third-Order Texture Filtering

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

High Quality Antialiased Rasterization

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

Fast Prefiltered Lines

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

Hair Animation and Rendering in the Nalu Demo

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

Using Lookup Tables to Accelerate Color Transformations

Jeremy Selan (Sony Pictures Imageworks)
GPU Gems 2

GPU Image Processing in Apple's Motion

Pete Warden (Apple)
GPU Gems 2

Implementing Improved Perlin Noise

Simon Green (NVIDIA Corporation)
GPU Gems 2

Advanced High-Quality Filtering

Justin Novosad (discreet)
GPU Gems 2

Mipmap Level Measurement

Iain Cantlay (Climax Entertainment)
GPU Gems 2

Streaming Architectures and Technology Trends

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

The GeForce 6 Series GPU Architecture

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

Mapping Computational Concepts to GPUs

Mark Harris (NVIDIA Corporation)
GPU Gems 2

GPU Computation Strategies and Tips

Ian Buck (Stanford University)
GPU Gems 2

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

GPU Flow Control Idioms

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

GPU Program Optimization

Cliff Woolley (University of Virginia)
GPU Gems 2

Stream Reduction Operations for GPGPU Applications

Daniel Horn (Stanford University)
GPU Gems 2

Octree Textures on the GPU

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

High-Quality Global Illumination Rendering Using Rasterization

Toshiya Hachisuka (The University of Tokyo)
GPU Gems 2

Global Illumination using Progressive Refinement Radiosity

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

Computer Vision on the GPU

James Fung (University of Toronto)
GPU Gems 2

Deferred Filtering: Rendering from Difficult Data Formats

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

Conservative Rasterization

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

GPU Computing for Protein Structure Prediction

Paulius Micikevicius (Armstrong Atlantic State University)
GPU Gems 2

A GPU Framework for Solving Systems of Linear Equations

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

Options Pricing on the GPU

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

Improved GPU Sorting

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

Flow Simulation with Complex Boundaries

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

Medical Image Reconstruction with the FFT

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

Batching 4EVA (GDC2005 D3D Tutorial)

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

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

Cem Cebenoyan (NVIDIA)
PDF available, NVIDIA GDC Presentations

Special Effects in Direct3D (GDC2005 D3D Tutorial)

Greg James (NVIDIA)
PDF available, NVIDIA GDC Presentations

The OpenGL Framebuffer Object Extension

Simon Green (NVIDIA)
PDF available, NVIDIA GDC Presentations

Image Processing Tricks in OpenGL

Simon Green (NVIDIA)
PDF available, NVIDIA GDC Presentations

OpenGL 2.0 and New Extensions

Cass Everitt (NVIDIA)
PDF available, NVIDIA GDC Presentations

Programming for SLI in OpenGL

Simon Green (NVIDIA)
PDF available, NVIDIA GDC Presentations

OpenGL Performance Tools

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

GPGPU: General-Purpose Computation on GPUs

Mark Harris (NVIDIA)
PDF available, NVIDIA GDC Presentations

Volume Rendering for Games

Simon Green (NVIDIA)
PDF available, NVIDIA GDC Presentations

Percentage-Closer Soft Shadows

Randima Fernando (NVIDIA)
PDF available, NVIDIA GDC Presentations

Introduction to Wireless Media Processors (WMPs)

Brian Bruning (NVIDIA)
PDF available, NVIDIA GDC Presentations

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

Chris Wynn (NVIDIA)
PDF available, NVIDIA GDC Presentations

The NVIDIA Performance Analysis Tools

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

Pipeline Integration with FX Composer

Chris Maughan (NVIDIA)
PDF available, NVIDIA GDC Presentations

Creating Real Shaders with FX Composer

Kevin Bjorke (NVIDIA)
PDF available, NVIDIA GDC Presentations

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

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

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

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

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

Optimization for DirectX9 Graphics (GDC2004 D3D Tutorial)

Ashu Rege (NVIDIA)
PDF available, NVIDIA GDC Presentations

GPU-Assisted Rendering Techniques (GDC2004 D3D Tutorial)

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

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

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

OpenGL 2.0 Update (GDC2004 OpenGL Tutorial)

Cass Everitt (NVIDIA)
PDF available, NVIDIA GDC Presentations

New NVIDIA OpenGL Extensions (GDC2004 OpenGL Tutorial)

Simon Green (NVIDIA)
PDF available, NVIDIA GDC Presentations

GPGPU: Beyond Graphics

Mark Harris (NVIDIA)
PDF available, NVIDIA GDC Presentations

Cinematic Effects II: The Revenge

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

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

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

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

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

GPU Water Simulation with PS 3.0

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

GPU Performance Tools

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

Practical Performance Analysis and Tuning

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

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

Kevin Bjorke (NVIDIA)
PDF available, NVIDIA GDC Presentations

GPU Gems Showcase: Perspective Shadow Mapping (GPU Gems)

Gary King (NVIDIA)
PDF available, NVIDIA GDC Presentations

GPU Gems Showcase: Ambient Occlusion (GPU Gems)

Matt Pharr (NVIDIA)
PDF available, NVIDIA GDC Presentations

Real-Time Animated Translucency

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

Poster Quality Screenshots

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

GPU Shadow Volume Construction for Nonclosed Meshes

Warrick Buchanan
Game Programming Gems 4

Perspective Shadow Maps

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

Combined Depth and ID-Based Shadow Buffers

Kurt Pelzer (Piranha Bytes)
Game Programming Gems 4

Carving Static Shadows into Geometry

Alex Vlachos (ATI Research)
Game Programming Gems 4

Adjusting Real-Time Lighting for Shadow Volumes and Optimized Meshes

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

Real-Time Halftoning: Fast and Simple Stylized Shading

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

Techniques to Apply Team Colors to 3D Models

Greg Seegert (Stainless Steel Studios)
Game Programming Gems 4

Fast Sepia Tone Conversion

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

Dynamic Gamma Using Sampled Scene Luminance

Michael Dougherty, Dave McCoy
Game Programming Gems 4

Heat and Haze Post-Processing Effects

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

Hardware Skinning with Quaternions

Jim Hejl (Electronic Arts Tiburon)
Game Programming Gems 4

Motion Capture Data Compression

Soren Hannibal (Shiny Entertainment)
Game Programming Gems 4

Fast Collision Detection for 3D Bones-Based Articulated Characters

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

Terrain Occlusion Culling with Horizons

Glenn Fiedler (Irrational Games)
Game Programming Gems 4

Effective Water Simulation from Physical Models

Mark Finch (Cyan Worlds)
GPU Gems

Rendering Water Caustics

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

Skin in the "Dawn" Demo

Curtis Beeson and Kevin Bjorke (NVIDIA)
GPU Gems

Animation in the "Dawn" Demo

Curtis Beeson (NVIDIA)
GPU Gems

Implementing Improved Perlin Noise

Ken Perlin (New York University)
GPU Gems

Fire in the "Vulcan" Demo

Hubert Nguyen (NVIDIA)
GPU Gems

Rendering Countless Blades of Waving Grass

Kurt Pelzer (Piranha Bytes)
GPU Gems

Simulating Diffraction

Jos Stam (Alias Systems)
GPU Gems

Efficient Shadow Volume Rendering

Morgan McGuire (Brown University)
GPU Gems

Cinematic Lighting

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

Shadow Map Antialiasing

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

Omnidirectional Shadow Mapping

Philipp Gerasimov (iXBT.com)
GPU Gems

Generating Soft Shadows Using Occlusion Interval Maps

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

Perspective Shadow Maps: Care and Feeding

Simon Kozlov (Softlab-NSK)
GPU Gems

Managing Visibility for Per-Pixel Lighting

John O’Rorke (Monolith Productions)
GPU Gems

Real-Time Approximations to Subsurface Scattering

Simon Green (NVIDIA)
GPU Gems

Ambient Occlusion

Matt Pharr and Simon Green (NVIDIA)
GPU Gems

Spatial BRDFs

David McAllister (NVIDIA)
GPU Gems

Finite-Radius Sphere Environment Mapping

Kevin Bjorke (NVIDIA)
GPU Gems

Texture Bombing

R. Steven Glanville (NVIDIA)
GPU Gems

Real-Time Glow

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

Color Controls

Kevin Bjorke (NVIDIA)
GPU Gems

Depth of Field: A Survey of Techniques

Joe Demers (NVIDIA)
GPU Gems

High-Quality Filtering

Kevin Bjorke (NVIDIA)
GPU Gems

Fast Filter Width Estimates with Texture Maps

Matt Pharr (NVIDIA)
GPU Gems

The OpenEXR File Format

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

A Framework for Image Processing

Frank Jargstorff (NVIDIA)
GPU Gems

Graphics Pipeline Performance

Cem Cebenoyan (NVIDIA)
GPU Gems

Efficient Occlusion Culling

Dean Sekulic (Croteam)
GPU Gems

The Design of FX Composer

Christopher Maughan (NVIDIA)
GPU Gems

Using FX Composer

Christopher Maughan (NVIDIA)
GPU Gems

An Introduction to Shader Interfaces

Matt Pharr (NVIDIA)
GPU Gems

Converting Production RenderMan Shaders to Real-Time

Steve Marshall (Sony Pictures Imageworks)
GPU Gems

Integrating Hardware Shading into Cinema 4D

Jörn Loviscach (Hochschule Bremen)
GPU Gems

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

Alexandre Jean Claude and Marc Stevens (Softimage)
GPU Gems

Integrating Shaders into Applications

John O’Rorke (Monolith Productions)
GPU Gems

A Toolkit for Computation on GPUs

Ian Buck and Tim Purcell (Stanford University)
GPU Gems

Fast Fluid Dynamics Simulation on the GPU

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

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

Applying Real-Time Shading to 3D Ultrasound Visualization

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

Real-Time Stereograms

Fabio Policarpo (Paralelo Computaçăo Ltda.)
GPU Gems

Deformers

Eugene d’Eon (University of Waterloo)
GPU Gems

Accessing and Modifying Topology on the GPU

Dean Calver
ShaderX3

Rendering of Complex Formulas

Christian Kleinhuis
ShaderX3

Deforming of Mesh Objects Using HLSL

Christian Kleinhuis
ShaderX3

Morphing Between Two Different Objects

Ronny Burkersroda
ShaderX3

Silhouette Geometry Shaders

Jörn Loviscach
ShaderX3

GLSL Real-Time Shader Development

Natalya Tatarchuk and Bill Licea-Kane
ShaderX3

Parallax Mapping

Terry Welsh
ShaderX3

Deferred Lighting on PS 3.0 with High Dynamic Range

Dean Calver
ShaderX3

Reflections from Bumpy Surfaces

Henning Mortveit
ShaderX3

Massively Parallel Particle Systems on the GPU

Lutz Latta
ShaderX3

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

Zoe Brawley and Natalya Tatarchuk
ShaderX3

Improved Batching via Texture Atlases

Matthias Wloka
ShaderX3

A Simulation of Thermal Imaging

O’dell Hicks
ShaderX3

Real-Time Texture-Space Skin Rendering

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

Dot3 Cel Shading

Ron Barbosa
ShaderX3

Hardware-Accelerated Charcoal Rendering

Markus Nuebel
ShaderX3

Detail Texture Motion Blur

Shawn Hargreaves
ShaderX3

Animation and Display of Water

Stefano Lanza
ShaderX3

Rendering Semitransparent Layered Media

Chris Oat
ShaderX3

Hair Rendering and Shading

Thorsten Scheuermann
ShaderX3

Reduction of Lighting Calculations Using Spherical Harmonics

Vlad Stamate
ShaderX3

Optimizing Dx9 Vertex Shaders for Software Vertex Processing

Kent F. Knox
ShaderX3

Software Shaders and DirectX DLL Implementation

Nicolas Capens
ShaderX3

Tactical Path-Finding Using Stochastic Maps on the GPU

Khanh Phong Ly
ShaderX3

FX Composer 1.5-Standardization

Chris Maughan and Daniel Horowitz
ShaderX3

A Steerable Streak Filter

Chris Oat
ShaderX3

Adaptive Glare

Tiago Sousa
ShaderX3

Color Grading

Ronny Burkersroda
ShaderX3

Improved Depth-of-Field Rendering

Thorsten Scheuermann and Natalya Tatarchuk
ShaderX3

Lighting Precomputation Using the Relighting Map

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

Shaderey-NPR Style Rendering

Aras Pranckevicius
ShaderX3

Poisson Shadow Blur

Jason L. Mitchell
ShaderX3

Fractional-Disk Soft Shadows

Michal Valient and Willem H. de Boer
ShaderX3

Fake Soft Shadows Using Precomputed Visibility Distance Functions

Aras Pranckevicius
ShaderX3

Efficient Omnidirectional Shadow Maps

Gary King and William Newhall
ShaderX3

An Extensible Direct3D Resource Management System

Wessam Bahnassi
ShaderX3

Integrating Shaders into the Vision Rendering Engine

Dag Frommhold and Florian Born
ShaderX3

Effect Parameters Manipulation Framework

Wessam Bahnassi
ShaderX3

Shader Visualization Systems for the Art Pipeline

Homam Bahnassi and Wessam Bahnassi
ShaderX3

Drawing a Crowd

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

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

Joachim Diepstraten and Mike EiBele
ShaderX3

Shaderbreaker

Magnus Österlind
ShaderX3

Generating Shaders from HLSL Fragments

Shawn Hargreaves
ShaderX3

Light Shaft Rendering

Jason L. Mitchell
ShaderX3

Rendering Rainbows

Clint S. Brewer
ShaderX3

A Practical Analytic Model for Daylight with Shaders

Marco Spörl
ShaderX3

Volumetric Clouds

Jesse Laeuchli
ShaderX3

Simulating and Rendering Particle Systems

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

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

Real-Time Multiresolution Dynamics of Deeply Hierarchical Bodies

Jason Weber and Andrew Weber (Intel Corporation)
Graphics Programming Methods

Scripted Bodies and Spline-Driven Animation

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

Collision Detection of Deformable Volumetric Meshes

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

Building an Advanced Facial Expression System

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

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

Meciej Matyka (University of Wroclaw)
Graphics Programming Methods

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

Automatic Parameterizations on the Cube

Ignacio Castańo (University of Seville)
Graphics Programming Methods

Filling Texture Holes Using the Euclidean Distance Map

Ignacio Castańo (University of Seville)
Graphics Programming Methods

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

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

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

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

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

Mark Theyer (TheyerGFX Pty Ltd)
Graphics Programming Methods

Building a Flexible Terrain Engine for the Future

Trent Polack (Burnt Fur Entertainment)
Graphics Programming Methods

Visible Terrain Grid Determination Using the Frustum

Christopher Tremblay
Graphics Programming Methods

Real-Time Generation and Rendering of 3D Planets

Jesse Laeuchli
Graphics Programming Methods

k-D Tree Face Portals with Solid Geometry

Conor Stokes
Graphics Programming Methods

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

R. Grant Reed
Graphics Programming Methods

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

Stochastic Iteration for Nondiffuse Global Illumination

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

Metropolis Sampling in Random Walk Global Illumination Algorithms

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

Metropolis Density Estimation

William Leeson (Illuminate)
Graphics Programming Methods

Rendering with Adaptive Integration

William Leeson (Illuminate)
Graphics Programming Methods

Illumination-Based Occlusion Culling

Ian Ashdown (byHeart Consultants Limited)
Graphics Programming Methods

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

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

An Effective Implementation of the k-D Trees

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

Pixel Shader Optimizations for Terrain Rendering

Kenny Mitchell (Electronic Arts)
Graphics Programming Methods

Real-Time Light-Atmosphere Interactions for Outdoor Scenes

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

True Volumetric Shadows

Robert James
Graphics Programming Methods

Quantization of True-Color Images with Opacity Information

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

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

An Optimal Dynamic Surface Caching Algorithm

Alexandre Ganea (DC Studios)
Graphics Programming Methods

Introduction to the DirectX 9 High Level Shading Language

Jason L. Mitchell and Craig Peeper
ShaderX2

Introduction to the vs_3_0 and ps_3_0 Shader Models

Nicolas Thibieroz, Kristof Beets and Aaron Burton
ShaderX2

Advanced lighting and shading with Direct3D 9

Michal Valient
ShaderX2

Introduction to Different Fog Effects

Markus Nübel
ShaderX2

Shadow Mapping with Direct3D 9

Michal Valient
ShaderX2

The Theory of Stencil Shadow Volumes

Hun Yen Kwoon
ShaderX2

Shader Development using RenderMonkey

Natalya Tatarchuk
ShaderX2

Tips for Creating Shader-Friendly 3D Models

Gim Guan Chua
ShaderX2

Vertex Decompression using Vertex Shaders Part 2

Dean Calver
ShaderX2

Using lookup tables in vertex shaders

Carsten Wenzel
ShaderX2

Terrain Geomorphing in the Vertex Shader

Daniel Wagner
ShaderX2

3D Planets on the GPU

Jesse Laeuchli
ShaderX2

Cloth Animation with Pixel and Vertex Shader 3.0

Kristof Beets
ShaderX2

Collision Shaders

Takashi Imagire
ShaderX2

Displacement Mapping

Tom Forsyth
ShaderX2

Rendering Objects as Thick Volumes

Greg James
ShaderX2

Screen-aligned Particles with Minimal Vertex Buffer Locking

O'dell Hicks
ShaderX2

Hemisphere Lighting With Radiosity Maps

Shawn Hargreaves
ShaderX2

Galaxy Textures

Jesse Laeuchli
ShaderX2

Turbulent Sun

Jesse Laeuchli
ShaderX2

Fragment Level Phong Illumination

Emil Persson
ShaderX2

Specular Bump mapping on pre-ps_1_4 Hardware

Matthew Halpin
ShaderX2

Rendering Voxel Objects with ps_3_0

Aaron Burton
ShaderX2

Simulating Blending Operations on Floating Point Render Targets

Francesco Carucci
ShaderX2

Rendering Volumes in a Vertex & Pixel Program by Ray Tracing

Eli Z. Gottlieb
ShaderX2

Normal Map Compression

Jakub Klarowicz
ShaderX2

Drops of Water - and Texture Sprites

Sylvain Lefebvre
ShaderX2

Advanced Water Effects

Kurt Pelzer
ShaderX2

Efficient Evaluation of Irradiance Environment Maps

Peter-Pike Sloan
ShaderX2

Practical Precomputed Radiance Transfer

Peter-Pike Sloan
ShaderX2

Advanced Sky Dome Rendering

Marco Spoerl and Kurt Pelzer
ShaderX2

Deferred Shading with Multiple Render Targets

Nicolas Thibieroz
ShaderX2

Meshuggah's Effects explained

Carsten Wenzel
ShaderX2

Layered Car Paint Shader

Chris Oat, Natalya Tatarchuk, John Isidoro
ShaderX2

Motion Blur Using Geometry and Shading Distortion

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

Simulation of Iridescence and Translucency on Thin Surfaces

Natalya Tatarchuk and Chris Brennan
ShaderX2

Floating-Point Cube Maps

Arkadiusz Waliszewski
ShaderX2

Stereoscopic Rendering in Hardware using Shaders

Thomas Rued
ShaderX2

Hatching, Stroke Styles & Pointillism

Kevin Buchin and Maike Walther
ShaderX2

Layered Fog

Guillaume Werle
ShaderX2

Linear Algebra on the GPU

Adam Moravansky
ShaderX2

Software Vertex Shader Processing

Dean Macri
ShaderX2

x86 Shaders - ps_2_0 Shaders in Software

Nicolas Capens
ShaderX2

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

Oliver Weichhold
ShaderX2

Named Constants in Shader Development

Jeffrey Kiel
ShaderX2

Advanced Image Processing with DirectX 9 Pixel Shaders

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

Night Vision - Frame Buffer Post-Processing with ps_1_1 Hardware

Guillaume Werle
ShaderX2

Non-Photorealistic Postprocessing Filters in MotoGP 2

Shawn Hargreaves
ShaderX2

Image Effects with DirectX 9 Pixel Shaders

Marwan Y. Ansari
ShaderX2

Using Pixel Shaders to Implement a Mosaic Effect using Character Glyphs

Roger Descheneaux and Maurice Ribble
ShaderX2

Mandelbrot Set Rendering

Emil Persson
ShaderX2

Real-Time Depth of Field Simulation

Guennadi Riguer, Natalya Tatarchuk and John Isidoro
ShaderX2

Soft Shadows

Flavien Brebion
ShaderX2

Robust ObjectID Shadows

Sim Dietrich
ShaderX2

Reverse Extruded Shadow Volumes

Renaldas Zioma
ShaderX2

Post-Process Fun with Effects Buffers

Tom Forsyth
ShaderX2

Shader Abstraction

Tom Forsyth
ShaderX2

Shaders under Control (Codecreatures Engine)

Oliver Hoeller
ShaderX2

Shader Integration in the Gamebryo Graphics Engine

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

Vertex Shader Compiler

David Pangerl
ShaderX2

Shader Disassembler

Jean-Sebastian Luce
ShaderX2

Implementing A Fixed Function Shader in HLSL

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

Normal Map Compression

ATI Research
ATI Technology Papers & Presentations

Performance Optimization Techniques for ATI Graphics Hardware with DirectXŽ9.0

Guennadi Riguer (ATI Research)
ATI Technology Papers & Presentations

Rendering Outdoor Light Scattering in Real Time

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

T-Junction Elimination and Retriangulation

Eric Lengyel (Terathon Software)
Game Programming Gems 3
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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

Basic Shader Development with Shader Studio

John Schwab
ShaderX

Vertex Decompression using Vertex Shaders

Dean Calver
ShaderX

Shadow Volume Extrusion using a Vertex Shader

Chris Brennan
ShaderX

Character Animation with Direct3D Vertex Shaders

David Gosselin
ShaderX

Lighting A Single-Surface Object

Greg James
ShaderX

Optimizing Software Vertex Shaders

Kim Pallister
ShaderX

Compendium of Vertex Shader Tricks

Scott Le Grand
ShaderX

Perlin Noise and Returning Results from Shader Programs

Steven Riddle and Oliver C. Zecha
ShaderX

Blending Textures For Terrain

Alex Vlachos
ShaderX

Image Processing with Pixel Shaders in Direct3D

Jason L. Mitchell
ShaderX

Hello World - Font Smoothing with Pixel Shaders

Steffen Bendel
ShaderX

Disc or Sphere - Emulate Geometry with Shaders - Impostors

Steffen Bendel
ShaderX

Smooth Lighting with ps.1.4

Steffen Bendel
ShaderX

Per Pixel Fresnel Term

Chris Brennan
ShaderX

Diffuse Cube Mapping

Chris Brennan
ShaderX

Accurate Environment Mapped Reflections and Refractions by Adjusting for Object Distance

Chris Brennan
ShaderX

UV Flipping Technique to Avoid Repetition

Alex Vlachos
ShaderX

Photo Realistic Faces with Vertex and Pixel Shaders

Kenneth L. Hurley
ShaderX

Non-Photorealistic Rendering with Pixel and Vertex Shaders

Drew Card and Jason L. Mitchell
ShaderX

Animated Grass with Pixel and Vertex Shaders

John Isidoro and Drew Card
ShaderX

Texture Perturbation Effects

John Isidoro and Guennadi Riguer
ShaderX

Rendering Ocean Water

John Isidoro, Alex Vlachos, Chris Brennan
ShaderX

Rippling Refractive and Reflective Water

Alex Vlachos, John Isidoro and Chris Oat
ShaderX

Crystal/Candy Shader

John Isidoro and David Gosselin
ShaderX

Bubble Shader

John Isidoro and David Gosselin
ShaderX

Per-pixel Strand Based Anisotropic Lighting

John Isidoro and Chris Brennan
ShaderX

A Non-Integer Power Function on the Pixel Shader

Philippe Beaudoin and Juan Guardado
ShaderX

Bump Mapped BRDF Rendering

Ádám Moravánszky
ShaderX

Real-Time Simulation and Rendering of Particle Flows

Daniel Weiskopf and Matthias Hopf
ShaderX

3D Textures and Pixel Shaders

Evan Hart
ShaderX

Truly Volumetric Effects

Martin Kraus
ShaderX

First Thoughts on Designing a Shader-Driven Game Engine

Steffen Bendel
ShaderX

Visualization with the KrassŠ Game-Engine

Ingo Frick
ShaderX

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

Bart Sekura
ShaderX

Comparison of VIPM Methods

Tom Forsyth (Mucky Foot Productions)
Game Programming Gems 2
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
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
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
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
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
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
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 screen shot of arbitrary resolution. This article focuses on the projection matrix tricks required to do this seamlessly.

Applying Decals to Arbitrary Surfaces

Eric Lengyel (C4 Engine)
Game Programming Gems 2
Abstract: This article presents a general method for applying a decal to an arbitrarily shaped surface and concurrently clipping the decal to the surface's boundary.

Rendering Distant Scenery with Skyboxes

Jason Shankel (Maxis)
Game Programming Gems 2
Abstract: Rending distant scenery in 3D can be accomplished with skyboxes. This article explains the principle of skyboxing and describes alternative means for rendering a skyboxed scene.

Self-Shadowing Characters

Alex Vlachos, David Gosselin, and Jason L. Mitchell (ATI Research)
Game Programming Gems 2
Abstract: This article presents a projective texture approach, which enables self-shadowing of convex subsections of characters in real time. After breaking the character into convex subsections, the subsections are rendered into a texture with varying alpha values from teh point of view of the light source. When the character is rendered from the viewer's point-of-view, this texture is projected back onto the convex subsegments of the character, simulating the occlusion of each subsegment with respect to the light source. Being map based rather than stencil-volume based, this technique requires no additional work to be compatible with higher-order surface tessellation techniques.

Classic Super Mario 64 Third-Person Control and Animation

Steve Rabin (Nintendo of America)
Game Programming Gems 2
Abstract: This article will deal with the basic issues of controlling and animating a character from a third-person perspective. While it seems straightforward enough (just copy Super Mario 64), it's not as trivial as it first appears. There are many small nuggets of wisdom that can often take weeks of trial and error to discover.

Cartoon Rendering: Real-time Silhouette Edge Detection and Rendering

Carl S. Marshall (Intel Architecture Labs)
Game Programming Gems 2
Abstract: Silhouette detection and rendering is a key component for adding a stylized look to 3D cartoon rendering. The basic concept of silhouette edge detection is to find the important edges that depict the outline of a model. Many cartoon animators illustrate these silhouettes by tracing a black outline around the borders of a model. This cartoon rendering article describes several silhouette edge detection techniques: an edge-based detection method, a programmable vertex shader technique, and an advanced texturing technique. The advantages and disadvantages of each technique are highlighted.

Cartoon Rendering Using Texture Mapping and Programmable Vertex Shaders

Adam Lake (Intel Architecture Labs)
Game Programming Gems 2
Abstract: The techniques described in this article take advantage of modern real-time graphics capabilities, including texture mapping and programmable vertex shading. The basic idea is to simulate a limited color palette using textures. To do this, we modify the standard diffuse shading equation to create a highlight and shadow color, and use these colors to create a small texture map for each material to be used as a lookup table at runtime. Additionaly, these techniques require no additional markup information from the artist - this article describes the creation of the texture maps and texture coordinates for each material.

Dynamic Per-Pixel Lighting Techniques

Dan Ginsburg and Dave Gosselin (ATI Research)
Game Programming Gems 2
Abstract: This article presents several techniques that can be used to perform dynamic lighting effects on a per-pixel basis. These methods have the advantage that they don't require highly tessellated geometry, and can often be performed at little performance cost on multitexturing graphics hardware.

Generating Procedural Clouds Using 3D Hardware

Kim Pallister (Intel)
Game Programming Gems 2
Abstract: In this article, we'll set out to procedurally generate cloud textures that possess some of the properties that real clouds exhibit. In additon, because textures typically reside in graphics subsystem memory, we'll aim to generate the procedural clouds almost entirely using the graphics hardware. Finally, we'll address some ways to scale the technique's quality and performance requirements in order to accommodate a range of target machines.

Texture Masking for Faster Lens Flare

Chris Maughan (NVIDIA Corporation)
Game Programming Gems 2
Abstract: This article introduces a novel way in which to generate texture information from pixels already rendered to the frame buffer. The technique can be used in several different ways, but is presented here as a solution to the common problem of occluded lens flare. Many games attempt to read back pixels generated in the frame buffer in order to determine exactly what was visible in the final scene. We will present a technique that works without CPU assistance, and does not require reading data from the graphics card. We will also outline the reasons why reading back information from the graphics card can be a costly operation and should be avoided if possible.

Practical Priority Buffer Shadows

D. Sim Dietrich Jr. (NVIDIA Corporation)
Game Programming Gems 2
Abstract: This article presents a set of techniques to improve the utility of "priority buffers". Along the way, we will explore other shadow techniques, and close by discussing how to create useful hybrid techniques.

Impostors: Adding Clutter

Tom Forsyth (Mucky Foot Productions)
Game Programming Gems 2
Abstract: Impostering is about using sprites in a 3D scene, but instead of an artist drawing or rendering the sprites beforehand, they are updated on the fly. Instead of rendering a high-triangle object every frame, the high-triangle object is occasionally rendered to a texture-usually on the order of once every 5 to 50 frames. This article presents Impostors and describes how to render them, create update heuristics, and use prediction to determine how to orient the impostor each time it is rendered.

Operations for Hardware-Accelerated Procedural Texture Animation

Greg James (NVIDIA Corporation)
Game Programming Gems 2
Abstract: This article covers a few fundamental operations for generating procedural animations, and puts these to use in specific examples that simulate fire, smoke, water, or perform image processing. With today's consumer hardware, we can even run complex cellular automata programs entirely within the rendering of a 3D accelerator and put the resulting animations to use in various effects.

Optimizing Vertex Submission for OpenGL

Herbert Marselas (Ensemble Studios)
Game Programming Gems
Abstract: There are a number of functions available for submitting and rendering vertices in OpenGL, which range from the simple immediate mode functions to more complicated multiple vertex functions and vendor-specific extensions. However, teh performance can vary greatly depending on the functionality used. This article provides insight into the tradeoffs of various techniques.

Tweaking a Vertex's Projected Depth Value

Eric Lengyel (C4 Engine)
Game Programming Gems
Abstract: The goal is to find a way to offset a polygon's depth in a scene without changing its projected screen coordinates or altering its texture mapping perspective. Most 3D graphcs libraries contain some kind of polygon offset function to help achieve this goal. However, these solutions generally lack fine control and usually incur a per-vertex performance cost. This article presents an alternative method that modifies the projection matrix to achieve the depth offset effect.

The Vector Camera

David Paull (Tanzanite Software)
Game Programming Gems
Abstract: The vector camera is a generalized form of the matrix-based camera found in many traditional graphics engines. Matrices are often difficult to read due to the fact that they typically hold several operations concatenated together. The vector camera uses only simple vectors to describe its orientation to the overall graphics pipeline. This article describes the how to construct a vector camera and how to manipulate it.

Camera Control Techniques

Dante Treglia (Nintendo of America)
Game Programming Gems
Abstract: This article outlines a few basic techniques that can be used to develop the proper camera model for your game. In addition to basics, a scripted camera traveling on various curves (B-Spline, Catmull-Rom spline) is also discussed along with issues such as zooming, dampening, and the use of quaternions.

A Fast Cylinder-Frustrum Intersection Test

Eric Lengyel (C4 Engine)
Game Programming Gems
Abstract: This article presents a quick algorithm for determining whether an arbitrary cylinder potentially intersects the view frustum (and thus whether the object is visible).

3D Collision Detection

Kevin Kaiser
Game Programming Gems
Abstract: This article will help lay the groundwork for building an accurate physics simulation by starting with one of the most crucial parts of a real-time physics engine: 3D collision detection. The two basic algorithms this article covers are: Bounding Sphere Collision Detection and Triangle-to-Triangle Collision Detection.

Multi-Resolution Maps for Interaction Detection (Collision Detection)

Jan Svarovsky (Mucky Foot Productions)
Game Programming Gems
Abstract: This article describes a method for reducing the number of proximity tests that must be performed for games with large numbers of game objects of varying sizes.

Computing the Distance into a Sector

Steven Ranck (Midway Home Entertainment)
Game Programming Gems
Abstract: This article describes a simple and fast algorithm for determining where a point is between the edges of a 2D quad (or sector). The result is a unit floating point number, where 0 indicates that the point lies on the leading edge, and where 1 indicates that the point lies on the opposite edge. The sector may be any four-sided, 2D convex shape.

Object Occlusion Culling

Tim Round
Game Programming Gems
Abstract: This article introduces both frustum culling and occlusion culling, along with example code for a simple occlusion culling algorithm.

Never Let 'Em See You Pop - Issues in Geometric Level of Detail Selection

Yossarian King (Electronic Arts Canada)
Game Programming Gems

Octree Construction

Dan Ginsburg (ATI Research)
Game Programming Gems

Loose Octrees

Thatcher Ulrich (Slingshot Game Technology)
Game Programming Gems

View-Independent Progressive Meshing

Jan Svarovsky (Mucky Foot Productions)
Game Programming Gems

Interpolated 3D Keyframe Animation

Herbert Marselas (Ensemble Studios)
Game Programming Gems

A Fast and Simple Skinning Technique

Torgeir Hagland (Shiny Entertainment)
Game Programming Gems

Filling in the Gaps-Advanced Animation Using Stitching and Skinning

Ryan Woodland (Nintendo Technology Development)
Game Programming Gems

Real-Time Realistic Terrain Generation

Guy W. Lecky-Thompson
Game Programming Gems

Fractal Terrain Generation - Fault Formation

Jason Shankel (Maxis)
Game Programming Gems

Fractal Terrain Generation - Midpoint Displacement

Jason Shankel (Maxis)
Game Programming Gems

Fractal Terrain Generation - Particle Deposition

Jason Shankel (Maxis)
Game Programming Gems

2D Lens Flare

Yossarian King (Electronic Arts Canada)
Game Programming Gems
Abstract: This article shows how to implement an attractive lens flare effect using only a small amount of code and artwork, without needing to know anything about physical optics.

Using 3D Hardware for 2D Sprite Effects

Mason McCuskey (Spin Studios)
Game Programming Gems
Abstract: This article sheds some light on how to use 3D hardware to achieve 2D effects. Specifically, we take a look at how to do alpha blending, sprite scaling, and sprite rotation.

Motif-Based Static Lighting

Steven Ranck (Midway Home Entertainment)
Game Programming Gems

Simulated Real-Time Lighting Using Vertex Color Interpolation

Jorge Freitas
Game Programming Gems

Attenuation Maps

Sim Dietrich (NVIDIA Corporation)
Game Programming Gems

Advanced Texturing Using Texture Coordinate Generation

Ryan Woodland (Nintendo Technology Development)
Game Programming Gems

Hardware Bump Mapping

Sim Dietrich (NVIDIA Corporation)
Game Programming Gems

Ground-Plane Shadows

Yossarian King (Electronic Arts Canada)
Game Programming Gems

Real-Time Shadows on Complex Objects

Gabor Nagy (Sony Computer Entertainment America)
Game Programming Gems

Improving Environment-Mapped Reflection Using Glossy Prefiltering and the Fresnel Term

Anis Ahmad (University of Waterloo)
Game Programming Gems

Convincing-Looking Glass for Games

Gabor Nagy (Sony Computer Entertainment America)
Game Programming Gems

Refraction Mapping for Liquids in Containers

Alex Vlachos and Jason L. Mitchell (ATI Research)
Game Programming Gems

13% off discount
"Latest from a must have series"
Game
Programming
Gems 7



"Cutting-edge graphics techniques"
GPU Pro 3


"Newest AI techniques from commercial games"
AI Game
Programming
Wisdom 4


Mechanical
Stealth BLANK Keys
Das Keyboard
$133 at Amazon.com
Show everyone you're a BAD ASS!
Bad Ass
Unique Abyss LED Watch
Abyss LED Touchscreen Watch
TOTALLY BLACK CENTER

See how it works
On sale 40% off
Cool Camping Gear
Camping Gadgets
Steampunk Gadgets
Steampunk Decor
Gifts for Teenage Girls
Teenage Girl Bedroom Ideas


Home