> 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

Comp.Graphics.Algorithms FAQ
Joseph O'Rourke
I think the title says it all. One thing I noticed is that it mentions the patent on the marching cubes algorithm.

Graphics Programming Black Book
Michael Abrash
This book on 153 MB (divided into one file per chapter) is a bit outdated but some algorithms never die such as BSP, PVS, and the likes. I don't know how useful the information here is but I keep the reference just in case.

Ramblings in Realtime
Michael Abrash

Resolution Switching Without Using DirectX
Ashley Matheson

A Real-Time Procedural Universe, Part 3: Matters of Scale
July, 2002 - Sean O'Neil
This article teaches how to overcome problems when rendering scenes with very large ranges, e.g. more than 10,000km. Some problems mentioned are z-buffer precision, vertex transform problems, object position precision.

The World and View Matrix
March, 2002 - Andreas Jönsson
This article explains how the world and the view matrix works in 3D graphics.

ATI Developer Relations



Hin Jang's GFX
A great site for various types of graphical algorithms.

nVidia Developer
The developer relations site of nVidia is full of good articles and demos with source code on 3D graphics.

Paul Bourke's homepage

Real-Time Rendering Resources

The good-looking textured light-sourced bouncy fun smart and stretchy page

Tim Rowley's home page

Tomas Akenine-Möller's home page
Tomas Akenine-Möller
Home page of one of the authors of the book Real-Time Rendering. Excellent set of published articles.

Coding - 3D Engine
Lukas aka the Swine
This series of articles shows how to write a Quake like software 3D engine, complete with perspective correct texture mapping, lightmapping, and BSP visibility culling. The english is a bit poor at times, but understandable.

Sol's Graphics for Beginners
Jari Komppa
This is a large series of tutorials starting with simple graphics using the SDL library, then moving on to making a small 2D game, and finally some more advanced graphic effects.

The HSV colorspace
Explains the HSV colorspace and how to convert to and from RGB.

Practical Texture Atlases
Jan, 2006 - Ivan-Assen Ivanov
Shows one practical way of combining multiple textures into one, which is good for avoiding texture swaps and minimizing sorting complexity in 3D engines with lots of objects using different textures.

A tile-based triangle rasterizer in hardware
2005 - Fredrik Ehnbom
Shows an interesting algorithm for a triangle rasterizer in hardware. Intended for processing units with little power, e.g. mobile phone CPUs. The algorithm may also work well for a software rasterizer.

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.

Volumetric Billboards
2009 - Philippe Decaudin, Fabrice Neyret
An interesting technique for rendering complex models.

Rasterization on Larrabee
Sep, 2009 - Michael Abrash
Very interesting article on software rasterization. It describes a lot of optimizations that can be done with modern processors that have vector instructions for perform multiple operations in parallel.

Shader Effects: Gamma Correction
June, 2012 - Nathaniel Meyer
This article explains how gamma correction works, and why it is necessary. It also provides sample shader code to demonstrate the theory.

Basic Theory of Physically-Based Rendering
Jeff Russell
This article gives a very good overview of what Physically Based Rendering is, without going into technical details.

Physically based rendering
Oct, 2015 - Lukas Orsvärn
This article gives an excellent overview of what Physically Based Rendering (PBR) means. It also has some good links to other resources with more in-depth detail.