Introduction

What is radiosity?

Radiosity is the measure of light radiated (emitted and reflected) from a surface. Radiosity Methods are processes that calculate these values between all the surfaces in an environment to produce realistic lighting.

How does lighting work in Quake2?

Lighting calculations, especially those involving radiosity methods, require a large amount of computing power. To ease the burden on computers running Quake2, the majority of the lighting information is computed ahead of time and stored on the surfaces. Think of it as turning on a lightbulb in a room, recording where all the light rays are cast, then removing the bulb. The light source itself is gone, but everything still appears to be lit as if it was still shining there.

Qrad3 is the program that calculates the lighting information. It starts by dividing up all surfaces into "patches". Point-lights are created for all surface patches that emit light. Then it calculates the light cast by all point-lights. The light striking each patch is then totaled up, and an apropriate amount (based on the color of the surface texture) is reflected off, onto all the other patches. This bouncing process can be repeated many times. When it's done, all the lighting information is saved out to the bsp file.

How has ArghRad improved the original Qrad3?

ArghRad has made some small speed optimizations to Qrad3, and it adds many new features. Textures can be read directly from the pak files, eliminating the need to extract them all. It also supports reading textures from a separate mod dir. It provides better control over how certain types of surface patches are divided up for smoother lighting. There are many options to simulate much more realistic directional sunlight. It adds many options to control how lights fade out. Spotlights can be aimed using several new methods. Lights can even cast darkness! One of the most important new features is the ability for entity brush models to cast surface light. This adds a lot more control over surface lights not previously possible, such as setting different colors and styles like point-lights. ArghRad eliminates some qrad3 lighting errors such as light "bleeding" through walls, or the "black-band" and "splotchy" problems with skies/liquids. Finally, it can perform phong shading across faces to simulate curved surfaces!