Link to paper : http://www2.lawrence.edu/fast/GREGGJ/CMSC420/chapter21/Irradiance.htmlUsing a shader to compute EnComputing En as described above is a very compute intensive operation,  because we have to compute the integral over the cube map for each new  direction vector n that we want to work with. At the same time, the  details for different values of n are highly repetitive. This suggests  that we should enlist the aid of shaders to compute this mapping for  us. Here is the outline of a strategy that makes it possible to do  this.Use OpenGL to render a two dimensional square centered at the origin  with sides of length 2. This square represents one of the sides of our  cubical irradiance map. Given the mapping above we can map any point  (x , y) on the square to a direction vector n. We render the square to  a framebuffer with dimensions size by size pixels, where size is the  desired size of our irradiance cube map texture. In the fragment  shader, we translate the interpolated fragment positions we are given  into direction vectors n and construct loops that sum over the six  faces of the environment map:When rendering is done, we convert the image in the frame buffer to a  texture for use by our irradiance cube map.I understand that Li is color at i. i is the direction of incoming light.However I do not understand what di is.Paper describes it as...Computing the solid angle di subtended by a particular texel is a  little more involved. Texels near the center of the texture subtend a  somewhat larger angle, while texels near the corner take up a smaller  solid angle when we map the cube texture onto a sphere. Here is a  reference that explains how to compute the solid angle correctly from  the positions xi and yi.However I am not following words to understand what it means.
Irradiance Map Equation What is d?
lighting