anchor.diff:  
   Here is what it looks like :
   
  -image::jme3/advanced/integrateBrdf.png[integrateBrdf.png,with="320",height="250",align="center"]
  +image::integrateBrdf.png[integrateBrdf,with="320",height="250",align="center"]
   
   The nice part is that this map is constant for white light. It does not depends on the environment. So you can bake it once and for all then use it as an asset in your shaders.
   
  
positive.code: 
  Technically, every pixel in the environment map is a light source, so a shaded point is lighten by a vast amount of pixels.
  
  image::jme3/advanced/irradiance.png[irradiance.png,with="320",height="250",align="center"]
  
  In this picture the orange area represent the light rays coming from the cube map to the shaded pixel, that we have to consider to properly compute the light color. So the idea would be, for each shaded pixel, to fetch all that texels and combine the colors.
  
  
negative.code: 
  It’s important to understand what we want as a specular reflection. We want it to be very neat when the roughness is low and very blurry when it’s high.
  
  image::Roughness.png[Roughness,with="320",height="250",align="center"]
  As roughness increase the reflection gets more blurry.
  
  To do this, we have to resolve an integral called the *radiance integral.*
  