Where to find graphics research
April 4th, 2010
Since you guys seem to enjoy the technical posts I write about the visuals in Overgrowth, I would like to show you where I go to find out about graphics research for games. There are three main sources -- game developer presentations, tech blogs, and academic papers. Game Developer Presentations Presentations by game developers are useful because they demonstrate techniques that ...
Image-based ambient lighting
March 26th, 2010
Ambient light (or indirect light) is light that is not coming directly from a bright light source. For example, in an outdoor scene, the sun is a direct light, and the ambient light comes from the sky and the ground. Here's a picture of the shadowed side of an Overgrowth character, showing how it's lit by scattered light ...
Comparing ODE and Bullet
March 24th, 2010
Last week, I switched the Overgrowth physics engine from ODE (Open Dynamics Engine) to Bullet. This prompted a few questions from blog readers. What are ODE and Bullet? Why did we switch? Why weren't we using Bullet from the start? What are ODE and Bullet? ODE and Bullet are both open-source physics engines. What are physics engines? To put ...
Using texture atlases
March 19th, 2010
So a texture is an image that is wrapped around a 3D model to add apparent detail -- but what's a texture atlas? A texture atlas is an image that contains multiple textures. For example, below you can see a character texture on the left, and a texture atlas on the right (with four character textures). Why use a texture ...
Two-part shadow maps
March 17th, 2010
The shadow maps we use in Overgrowth are unusual in that they contain two parts: direct shadows and ambient occlusion. These correspond to the two light sources in outdoor scenes, the sun and the sky. To explain how this works, let's consider this scene with a house in the desert: The first part of the shadow map consists of ...
Obscure Visual C++ features
March 14th, 2010
A couple days ago I wrote about solutions to some common Visual C++ problems (click here to read it). Today I would like to share some obscure features of VC++ that are actually very useful. Local optimization flags When writing computer programs, it's common to have two build targets: one with full optimization and one with no optimization. The ...
Visual C++ quirks
March 12th, 2010
Visual C++ may be the standard IDE for PC game development, but it has its fair share of idiosyncratic problems that have bothered me for years, and forced me to find makeshift workarounds. Here are the ones that I run into most often. 'Intellisense' not so intelligent VC++ has a feature called 'intellisense' which is used for autocompletion and jumping ...