anchor.diff:  ----
   
   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.+
  +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]
  
positive.code: 
  == Shader Node definition
  
  First ShaderNodes have to be defined either in a separate file (j3sn for jme3 shader node) or directly embed in the Technique block of the j3md file.+
  Please refer to this documentation for global structure of a j3md file 
  <<jme3/advanced/material_specification#,jMonkeyEngine3 Material Specification>>
  
  All is included in a *ShaderNodeDefinitions* bloc. This block can have several nodes defined (it's recommended to define nodes that have strong dependencies with each other in the same j3sn file).+
  A ShaderNode is declared in a *ShaderNodeDefinition* block.+
  global structure should look like this :+
  
  [source,java]
  ----
  
negative.code: 
  ----
  
  As you can see all the inputs and outputs are not used. That's because most of them are attributes meant to be passed to the fragment shader as varyings. All the wiring will be handled by the generator only if those variables are used in an input or output mapping.
  
  +++<u>*CommonVert input mapping*</u>++++
  Here we have the most basic yet mandatory thing in a vertex shader, computing vertex position in projection space. for this we have 2 mappings :
  
  *  *worldViewProjectionMatrix = WorldParam.WorldViewProjectionMatrix* : the input parameter worldViewProjectionMatrix is assigned with the WorldViewProjectionMatrix World parameter declared in the WorlParameters block of the technique.
  *  *modelPosition = Global.position.xyz* : the modelPosition (understand the vertex position in the model coordinate space) is assigned with the Global position variable.
  