specular = (x, V) => {
const L = (lightParameters.lightType=="point")? glMatrix.vec2.normalize([],glMatrix.vec2.sub([],lightPosition,[x,0])):lightVector;
const R = reflectAlongYAxis(L);
const N = [0, 1];
const H = glMatrix.vec2.normalize([],glMatrix.vec2.add([],L,V));
const factor = ((specularParameters.modelType == "Phong")? dot(R,V): dot(N, H))**specularParameters.exponent
return factor < 0 ? 0 : factor;
}