anchor.diff:  ----
   
   *  +++<u>ShaderNode</u>+++ the shader node block
  -**  *ShaderNodeName* the name of this shader node, can be anything, but has to be *unique* in the shader scope
  -
  -*  +++<u>Definition</u>+++ : a reference to the shader node definition
  +**  *ShaderNodeName* the name of this shader node, can be anything, but has to be *unique* in the shader scope.
  +
  +*  +++<u>Definition</u>+++ : a reference to the shader node definition.
   **  *DefinitionName* : the name of the definition this Node use. this definition can be declared in the same j3md or in its own j3sn file.
   **  *DefinitionPath* : in case the definition is declared in it's own j3sn file, you have to set the path to this file here.
   
  
positive.code: == Shader Node 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. 
  
negative.code: In a very complex material def this variable could already have been assigned with a previous Shader Node output.
  ====
  
  *+++<u>ColorMult output mapping</u>+++* +
  
  *  *Global.color = outColor* : the resulting color is assigned to the Global color variable.
  
  