I have been reading about IBLs, trying to understand how they work; so, I can implement them in my engine. I have understood the general concept and the calculation for the diffuse but I am still a little bit confused why the irradiance map and prefiltered specular map need to be generated at runtime. From the looks of it, even the runtime generated maps are generated once and then used in the scene. The maps are not generated on every frame. So, I am curious as to what the benefit of it is when compared to generating them offline and importing them into the scene.