varying is linearly interpolated

objectif: diffuser version française d'une réponse que l'on m'a faite sur stackoverflow

stackoverflow
  je pose dans le vertex une variable attribute de type float.
  Son buffer est défini par : a_number=[3,3,5,5,3,5]
  Chaque valeur de ce buffer est donnée au fragment.
  Ces valeurs du vertex sont appelées des "vertex"

bon, le but ici est de comprendre comment sont générées les valeurs entre 'vertex'

Je trace un carré de côtés 3 pixels. C'est à dire l'opération 
        gl.drawArrays(gl.TRIANGLES, 0, 6);

il y a 6 sommets.
La position de ces sommets est définie par l'attribute :
       attribute vec2 a_position;



Maintenant j'ai ajouté un attribute :

    attribute float a_number;


Ces valeurs sont définies dans le buffer :


   let numberBuffer = gl.createBuffer();
   gl.bindBuffer(gl.ARRAY_BUFFER,numberBuffer);
   gl.bufferData(gl.ARRAY_BUFFER,
    new Float32Array([3,3,5,5,3,5]),
    gl.STATIC_DRAW
    );