// var GL_MAP = {};
/**
* @param gl {WebGLRenderingContext} The current WebGL context
* @param attribs {*}
* @param state {*}
*/
export default function setVertexAttribArrays(gl, attribs, state)
{
let i;
if (state)
{
const tempAttribState = state.tempAttribState;
const attribState = state.attribState;
for (i = 0; i < tempAttribState.length; i++)
{
tempAttribState[i] = false;
}
// set the new attribs
for (i = 0; i < attribs.length; i++)
{
tempAttribState[attribs[i].attribute.location] = true;
}
for (i = 0; i < attribState.length; i++)
{
if (attribState[i] !== tempAttribState[i])
{
attribState[i] = tempAttribState[i];
if (state.attribState[i])
{
gl.enableVertexAttribArray(i);
}
else
{
gl.disableVertexAttribArray(i);
}
}
}
}
else
{
for (i = 0; i < attribs.length; i++)
{
const attrib = attribs[i];
gl.enableVertexAttribArray(attrib.attribute.location);
}
}
}