anchor.diff:  
   ----
   
  -This declares a float array with the size depending on the value of the NumberOfElement material parameter.+
  +This declares a float array with the size depending on the value of the NumberOfElement material parameter. +
   NumberOfElement *HAS* to be declared in the material definition as a material parameter. It will be mapped to a define and used in the shader.
  -Not that if this value change the shader will have to be recompiled, due to the fact that it's mapped to a define.
  +
  +[NOTE]
  +====
  +If this value change the shader will have to be recompiled, due to the fact that it's mapped to a define.
  +====
   
   
   == Shader Node code
   
  -The shader code associated with a Shader node is similar to any shader code.+
  +The shader code associated with a Shader node is similar to any shader code. +
   the code for a Vertex shader node should be in a .vert file and the code for a Fragment shader node should be in a .frag file.
  -It has a declarative part containing variable declaration, function declaration and so on… And a main part that is embed in a “void main(){} block.+
  -Input and output variables declared in the shader node definition can be used *without* being declared in the shader code. ( they shouldn't even or you'll have issues).+
  -Here is a the code of the LightMap.frag shader.+
  +It has a declarative part containing variable declaration, function declaration and so on… And a main part that is embed in a “void main(){} block. +
  +Input and output variables declared in the shader node definition can be used *without* being declared in the shader code. ( they shouldn't even or you'll have issues). +
  +Here is a the code of the LightMap.frag shader. 
   
   [source,java]
   ----
  
positive.code: 
  ----
  
  All that is not between [] is mandatory.+
  
  *  +++<u>ShaderNodeDefinition</u>+++ : the definition block. You can have several definition in the same ShaderNodeDefinitions block.
  **  *NodeDefName* : The name of this ShaderNodeDefinition
  
negative.code: ----
  
  this will declare a float array with 10 elements.
  Any material parameter mapped with this array should be of FloatArray type and it's size will be assumed as 10 when the shader is generated. 
  
  *Material parameter driven size* +
  The size can be dynamic and driven by a material parameter. GLSL does not support non constant values for array declaration so this material parameter will be mapped to a define. +
  _Example_
  
  [source]
  