> Reference Database


.NET  7
Artificial Intelligence  7
  Group behavior  2
  Path finding  16
    A* and its derivatives  6
  Pattern recognition  1
  Steering behavior  2
  World interaction  4
Audio  0
  DirectX  8
  DSP  5
  Ogg Vorbis  2
  OpenAL  1
  Windows  1
Computer Science  2
  Algorithms & data structures  12
    BSP trees  8
  Encryption  12
  Randomness & noise  11
Data storage  4
  File formats  14
    Image  10
  Resource files  2
Game Development  20
  Cheat & crack prevention  10
  Input  3
  Timing  4
Graphics  27
  Character animation  6
  DirectX  24
    Optimizing  8
  Illumination  5
    Deferred lighting  7
    Global illumination  8
    Lighting models  6
    Screen Space Ambient Occlusion  4
    Shadow maps  18
    Shadow volumes  15
  Image processing & synthesizing  19
  Non-polygonal rendering  3
    Ray tracing  3
  OpenGL  12
  Particle systems  7
  Shaders  32
  Simulation  4
    Cloth  2
    Clouds & sky light  7
    Fire & smoke  4
    Liquids  12
  Surfaces & Meshes  7
    Implicit surfaces  6
    Parametric curves & surfaces  7
    Polygon reduction & LOD  3
    Subdivision surfaces  7
  Terrain  7
    Continuous LOD  12
    Generating data  4
    Voxel engines  2
  Text  6
  Transparency  1
  Visibility determination  16
Languages  5
  Assembler  20
  C & C++  25
    C++ exceptions  5
    Calling conventions  11
    Debugging  5
    Memory management  7
    Optimizations  6
  C#  4
  Creating your own language  13
    Garbage collection  7
  D  2
  Java  4
  Scripting  3
    JScript & VBScript  1
    Lua  6
    Other languages  8
    Perl  2
    Python  5
    Ruby  4
Mathematics  3
  Fourier transform  4
  Geometry  6
  Linear algebra, vectors & matrices  9
  Wavelet transform  5
Object design  3
Physics  5
  Body dynamics  8
  Collision detection  10
    Polytopes  6
Platform  2
  Linux  1
  Mac  2
  Windows  13
    COM, ATL & WTL  8
    Dynamically loaded libraries  6
    Hooks  5
    Input  2
    Networking  6
    Screensavers  3
    Services  1
    Shell  2
    Small executables  3
    Windows  8
Web Technologies  8

BRDF-based Lighting
This article with sample source code describes what BRDF (Bi-directional Reflectance Distribution Function) lighting is and how to do it in realtime using textures. BRDF is basically a weight function with which the light on a surface is modulated to determine what color the eye sees.

Dot Product Texture Blending and Per-Pixel Lighting
Sim Dietrich

Rendering in 1 bit per pixel
January 2002 - Tom Nuydens
This article describes how to render diffuse dithered black and white images with 3D hardware.

Introduction to Shader Programming
March 2002 - Wolfgang Engel
This 4 part article shows how to program the vertex and pixel shaders in DirectX 8.x.

Fake Phong Shading
May 2002 - Daniel Vlasic
This thesis describes techniques available for aproximating phong shading in real time. The best technique described is the Blinn shading technique, that maps the vertices onto a specularity map.

Advanced Shader Programming: Diffuse & Specular Lighting
July 2002 - Wolfgang Engel
This article shows how to do diffuse and specular lighting with pixelshaders 1.1, 1.2, and 1.4 for DirectX.

Advanced lighting and shading with Direct3D 9
Feb 2003 - Michal Valient
This article explains lighting models that goes beyond normal diffuse and phong shading, e.g. Fresnel Term (reflexion), Oren-Nayar (diffuse), and Cook-Torrance (specular). It also shows how to implement them using shaders in Direct3D 9.

Xvox demo
April, 2003
This demo with source code and technical description shows how to implement displacement mapping with trilinear filtering using vertex shaders in DX8.

DirectX 8.0: Enhancing Real-Time Character Animation with Matrix Palette Skinning and Vertex Shaders
June, 2001 - Benjamin Freidlin
This article shows how to do soft-skinning with multiple weighted transform matrices per vertex.

Introduction to the DirectX 9 High Level Shading Language
July, 2003 - Craig Peeper, Jason L. Mitchell
This article gives a very good introduction to the HLSL and how to use it with DirectX 9.

Photo-realistic deferred lighting
July, 2003 - Dean Calver
This article shows how to implement deferred lighting using PixelShader 2.0 on modern hardware. Deferred lighting is a technique performs lighting in a post render pass, which makes lighting independent of scene complexity.

Fresnel Reflection
June, 2002 - Matthias Wloka
This article shows how to implement fresnel reflection with DirectX 8.1, using either vertex shaders or pixel shaders.

High Dynamic Range Rendering
June, 2004 - Anirudh S Shastry
This article shows how to render a simple scene using HDR textures and adding post processing glow with gaussian blur. Uses DirectX shaders.

Per-Pixel Displacement Mapping with Distance Functions
2005 - William Donnelly
This article shows how to write a pixel shader that is capable of doing displacement mapping for a planar surface. It doesn't generate geometry so the contours are still flat, but inside the surface the displacements correctly occludes one another.

Ease Wrapper
A free open source library that wraps both OpenGL and DirectX under one common interface. Many interesting tutorials, including shadow mapping with shaders.

Steep Parallax Mapping
Morgan McGuire and Max McGuire
Shows a more advanced parallax mapping, which allows for self-shadowing and much improved visual.

Approximate Ray-Tracing on the GPU with Distance Impostors
László Szirmay-Kalos, Barnabás Aszódi, István Lazányi, Mátyás Premecz
The result looks good and may be worth investigating if these effects are wanted.

Dual Paraboloid Mapping in the Vertex Shader
Apr, 2006 - Jason Zink
This article shows how to render a scene with parabolic projection, and then how to use this as the environment map for reflections. The technique gives the result somewhere in between spherical mapping and cube mapping, both in performance and quality.

Multiple lights in HLSL using deferred lighting
This Managed Direct X sample shows how to render a scene with deferred lighting.

Variance Shadow Maps
Apr, 2006 - William Donnelly, Andrew Lauritzen
This article shows a technique for improving the aliasing artifacts of shadowmaps with a very small performance hit.

A Closer Look At Parallax Occlusion Mapping
Jun, 2006 - Jason Zink

OpenGL Shading Language course
Oct, 2006 - Typhoon Labs

GPU Gems
Mar, 2006 - nVidia
The book is now available online from nVidia.

Improved Alpha-Tested Magnification for Vector Textures and Special Effects
2007 - Chris Green
Shows how to use distance field in texture to render alias free 2D decals.

GPU Gems 2
The book is available for free online.

Wolfgang Engel
The first ShaderX books are now available online.

StarCraft II - Effects and Techniques
2008 - Dominic Filion, Rob McNaughton
This article describes how Blizzard have solved their needs for the graphics engine. It covers areas such as Deferred Rendering, Deferred Lighting, SSAO, Depth of Field, and Translucent shadows.

GPU Gems 3
The book is now available online for free.

Manuel's relief texture mapping page
Lot's of good links of various relief mapping techniques.

A Reconstruction Filter for Plausible Motion Blur
2012 - Morgan McGuire, Padraic Hennessy, Michael Bukowski, Brian Osman
Shows a technique for rendering images with plausible motion blur via a screenspace post processing shader.

This site holds a lot of different shaders that have been implemented and shared by the community. The shaders are presented with a video to quickly demonstrate the result.

wili research
Ville Timonen
Several papers on advanced shader techniques