Lighting Effects in Computer Games Act II Ivan Viola Institute of Computer Graphics & Algorithms Vienna University of Technology Vienna / Austria
2 / 13 Ivan ViolaIntroduction speed & quality trade-off real-time rendering (>10 fps) software based techniques hardware acceleration Quake state of the art in HW acceleration techniques
3 / 13 Ivan ViolaQuake most important FPS game lighting of the world lighting of creatures, weapons, particles and sprites
4 / 13 Ivan Viola Quake - World Lighting Model (I) Gouraud shading angle variance (for n-gons; n>3) bad for big polygons (such as walls)
5 / 13 Ivan Viola Quake - World Lighting Model (II) Lightmaps lighting is precalculated (using eg. radiosity) stored in a 2D texture easy to scale, translate to create various effects
6 / 13 Ivan Viola Quake - Lighting of Polygonal Objects Gouraud shading polygons are triangles small enough Subdivision rasterizer division until the polygon is smaller than pixel and then draw
7 / 13 Ivan Viola Quake - Following Versions Verite Quake HW acceleration using Verite chip GLQuake downloadable upgrade that uses OpenGL HW acceleration Quake II OpenGL HW acceleration out-of-the-box
8 / 13 Ivan Viola State of the Art in FPS Games Quake III Arena curved surfaces volumetric fog shading languages Doom III unique style of lighting using HW acceleration HW acceleration necessary!
9 / 13 Ivan Viola Projective Textures projector simulation spotlight simulation shadow maps
10 / 13 Ivan Viola Environment Maps cubic parameterization implemented in most nowadays graphics chips spherical parameterization mapping is problematic parabolic parameterization solves problem of spherical parameterization partly implemented in MESA
11 / 13 Ivan Viola BRDF-Based Lighting BRDF is a 4D function 4D lookup table is needed approximation of 4D lookup table through decomposition into two 2D lookup tables efficient usage of the texture memory
12 / 13 Ivan Viola Anisotropic Lighting examples of anisotropic surfaces satin cloth, CD surface, brushed metal setup and enable 2D texture that encodes lighting model as a function of and setup and enable 2D texture that encodes lighting model as a function of and setup texture matrix for the dot product pass per-vertex tangent vector of surface or fiber as texture coordinate using glTexCoord3f(Tx,Ty,Tz)
Thank you Ivan Viola