anchor.diff:  
   == How to use shaders in JME3
   
  -You probably heard that JME3 is “shader oriented”, but what does that mean? +
  -Usually to use shaders you must create what is called a program. This program specify the vertex shader and the fragment shader to use. 
  -
  -JME3 encloses this in the material system. Every material in JME3 uses shaders. +
  +
  +You probably heard that JME3 is "`shader oriented`", but what does that mean? + 
  +Usually, to use shaders you must create a program. This program specifies the vertex shader and the fragment shader to use. JME3 encloses this in the material system. Every material in JME3 uses shaders. 
  +
   For example let’s have a look at the SolidColor.j3md file : 
   
   [source,java]
  
positive.code: 
  ----
  
  You can also pass some define to your vertex/fragment programs to know if an uniform as been declared. +
  You simply add it in the Defines section of your Technique in the definition file.
  
  [source,java]
  
negative.code: 
  === JME3 Global uniforms
  
  JME3 can expose pre-computed global uniforms to your shaders. You must specify the ones that are required for your shader in the WorldParameter's section of the material definition file (.j3md).
  
  [NOTE]
  ====
  In the shader, the uniform names will be prefixed by a “g_”.
  ====
  
  In the example above, WorldViewProjectionMatrix is declared as uniform mat4 g_WorldViewProjectionMatrix in the shader.
  
  The complete list of global uniforms that can be used in JME3 can be found in link:https://github.com/jMonkeyEngine/jmonkeyengine/blob/master/jme3-core/src/main/java/com/jme3/shader/UniformBinding.java[UniformBinding.java].
  
  
  === JME3 Lighting Global uniforms
  
  JME3 uses some global uniforms for lighting:
  
  *  g_LightDirection (vec4): the direction of the light
  **  use for SpotLight: x,y,z contain the world direction vector of the light, the w component contains the spotlight angle cosine
  
  *  g_LightColor (vec4): the color of the light
  *  g_LightPosition: the position of the light
  **  use for SpotLight: x,y,z contain the world position of the light, the w component contains 1/lightRange
  **  use for PointLight: x,y,z contain the world position of the light, the w component contains 1/lightRadius
  **  use for DirectionalLight: strangely enough it's used for the direction of the light…this might change though. The fourth component contains -1 and it's used in the lighting shader to know if it's a directionalLight or not.
  *  g_AmbientLightColor: the color of the ambient light.
  
  These uniforms are passed to the shader without having to declare them in the j3md file, but you have to specify in the technique definition “ LightMode MultiPass see lighting.j3md for more information.
  
  
  === JME3 attributes
  
  Those are different attributes that are always passed to your shader. 
  
  You can find a complete list of those attribute in the Type enum of the VertexBuffer in link:https://github.com/jMonkeyEngine/jmonkeyengine/blob/master/jme3-core/src/main/java/com/jme3/scene/VertexBuffer.java[VertexBuffer.java]. 
  
  [NOTE] 
  