# How is a light probe different than an environmental cube map?

Looking at a light probe texture, it looks like a blurry environment map.

What's the difference between the two, how is a light probe made, and what is the benefit of it being blurry?

• Short answer: "light probes" usually means a compact spherical harmonic representation of the environment. They're blurry both because they're very compact (only a few tens of bytes storage) and because they're prefiltered for use as diffuse lighting. I'll expand into a longer answer when I have a chance. :) Aug 13, 2015 at 6:18
• Is there any context for your question? The term 'light probe' is ambigious and used differently in different scenarios, algorithms and engines. Aug 13, 2015 at 12:07
• Specifically, if you have been to shadertoy.com you'll see two sets of cube maps available for use. One set is environment maps, the other set looks the same but blurry that are labeled light probes. Just curious about that and light probes in general. Aug 13, 2015 at 14:49
• @DavidKuri in blender you bake them differently, they are two different buttons and you press them at different times Mar 10, 2021 at 19:45

There are two different common meanings of "light probe" that I'm aware of. Both of them represent the light around a single point in a scene, i.e. what you would see around you in all directions if you were shrunk down to a tiny size and stood at that point.

One meaning is a spherical harmonic representation of the light around a point. Spherical harmonics are a collection of functions defined over a spherical domain, which are analogous to sine waves that oscillate a certain number of times around the equator and from pole to pole on the sphere.

Spherical harmonics can be used to create a smooth, low-res approximation of any spherical function, by scaling and adding together some number of spherical harmonics—usually 4 (known as linear, first-degree, or one-band SH) or 9 (called quadratic, second-degree, or two-band SH). This is very compact because you only have to store the scaling factors. For instance, for quadratic SH with RGB data, you only need 9*3 = 27 values per probe. So SH makes a very compact, but also necessarily very soft and blurry, representation of the light around a point. This is suitable for diffuse lighting, and perhaps specular with a high roughness.

This screenshot from Simon's Tech Blog shows an array of SH light probes spaced throughout a scene, each one showing the indirect lighting received at that point:

The other currently common meaning of "light probe" is an environment cube-map whose mip levels have been pre-blurred to different extends so it can be used for specular lighting with varying levels of roughness. This image from Seb Lagarde's blog shows the basic idea:

The higher-resolution mips (toward the left) are used for highly polished surfaces where you need a detailed reflected image. Toward the right, the lower-res mip levels are increasingly blurred, and are used for reflections from rougher surfaces. In a shader, when sampling this cubemap, you can calculate your requested mip level based on the material roughness, and take advantage of the trilinear filtering hardware.

Both of these types of light probes are used in real-time graphics to approximate indirect lighting. While direct lighting can be calculated in real-time (or at least approximated well for area lights), indirect lighting is usually still baked in an offline preprocess due to its complexity and computational overhead.

Traditionally, the result of the baking process would be lightmaps, but lightmaps only work for diffuse lighting on static geometry, and they take up a lot of memory besides. Baking a bunch of SH light probes (you can afford a lot of them because they're very compact), plus a sparser sprinkling of cubemap light probes, allows you to get decent diffuse and specular indirect lighting on both static and dynamic objects. They're a popular option in games today.

• Great explanation! Just to confirm about the part about using trilinear filtering on the mips... Mips are preferred over volume textures because they use less resolution, and higher Blur levels need less resolution? Aug 14, 2015 at 5:37
• I'd say that both these "kinds" of light probes are the same. Light probes are a measure of the radiance (usually pre-convoluted in some way) received at a point in the scene. Cubemaps and SH are just different ways to store/compute a light probe, making different storage/perf/quality trade-offs. (EDIT: Just to make it clear, I agree with the answer, I just think it's counter-productive to think of them as separate things.) Aug 14, 2015 at 5:39
• @AlanWolfe There is a use and that is to have maps for diffuse ligtning taken from a real environment (called gray ball/white ball), not just specular. Heres a disucssion of both Mirror/Gray Ball Shaders Aug 14, 2015 at 11:04
• @AlanWolfe Correct&mdash;you need less resolution on the more blurred levels. Also, cubemap volume textures aren't a thing that exists in hardware. :) Aug 14, 2015 at 18:12

the cubemaps which have this cube shape in blender store a 360 image of that point that can be used for reflections, world texture images...

also seems like cubemap can be called reflection probe sometimes to add to the confussion, so seems like cubemaps are a type of probe too more specific to remapping

probes which are the circles store only light info (am i getting white raylights? yellow?)

I might be wrong, in that case correct me