anchor.diff:  This is an approximation again, and it has a cost in quality, but we’re all for approximation as long as it’s perform faster while still looking good, right?
   
   Here is what the result looks like
  +
   image::jme3/advanced/PrefilteredEnvMap.png[PrefilteredEnvMap.png,with="320",height="250",align="center"]
   The prefiltered environment map, with the different mip levels. notice how the blur increases through them.
   
  
positive.code: So basically we can bake all combinations into a 2D map. roughness and N.L will be the texture coordinate. the red channel of the map will be the scale, and the green channel will be the bias. (the blue channel is not used)
  
  Here is what it looks like :
  image::jme3/advanced/integrateBrdf.png[integrateBrdf.png,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.
  
negative.code: Indirect diffuse is cool, but we want “shiny”!! Shiny implies specular lighting.
  
  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::jme3/advanced/Roughness.png[Roughness.png,with="320",height="250",align="center"]
  As roughness increase the reflection gets more blurry.
  
  