Cubemaps

From Team Fortress Wiki
Jump to: navigation, search
We did it! With a little help from Mother Science.
The Engineer after successfully building new cubemaps
The entity icon used by Hammer

Cubemaps store data about a reflective object's surroundings, and are used to correctly render its appearance. Most Source engine games rely on cubemaps, including Team Fortress 2.

Implementation

Cubemap entities are placed at eye level (about ~64 Hu) to create the most realistic reflections. If an area of a map differs in lighting or size, another cubemap is needed to ensure correct reflections.

Once lighting is compiled and the map is running, the map author uses the console command buildcubemaps to generate the reflections.

Missing cubemaps

If no cubemap entities are placed in a map or the cubemaps aren't built, reflections are supposed to default to the skybox texture. This issue is common in maps that are still under development.

Because of a bug in VBSP, the skyboxes in Team Fortress 2 can't be used as the default cubemap, and therefore the engine falls back to the missing texture pink checkerboard texture. This makes it glaringly obvious when the cubemaps have not been built and complicates building the cubemaps by requiring specular reflections disabled (mat_specular) to avoid the ugly reflections being saved in the built cubemaps.