Cubemaps
This topic is covered better by other wikis or sites. Please see the following links instead:
|
“ | We did it! With a little help from Mother Science.
Click to listen
— The Engineer after successfully building new cubemaps
|
” |
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 HUs) 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.