 
  varying vec2 vTexCoord;
  varying vec3 vPosition;
+ #ifdef ATTRIBUTE_NORMAL_ENABLED
+ varying vec3 vNormal;
+ #endif
 #ifdef VS
   @POSITION
   attribute vec3 position;

  {
    gl_Position = _matPVM * vec4(position,1.0);
    vPosition = (_matM * vec4(position,1.0)).xyz;
    #ifdef ATTRIBUTE_TEXCOORD_ENABLED
    vTexCoord = texCoord;
    #endif

  @TEXCOORD
  attribute vec2 texCoord;
  #endif

  #ifdef ATTRIBUTE_NORMAL_ENABLED
  @NORMAL
  attribute vec3 normal;
  #endif

  @MODELVIEWPROJECTION
  uniform mat4 _matPVM;

