Why Former works, but latter doesn't
function initBuffers() {
VertexBuffer = gl.createBuffer();
gl.bindBuffer(gl.ARRAY_BUFFER, VertexBuffer);
gl.bufferData(gl.ARRAY_BUFFER, new Float32Array(vertices), gl.STATIC_DRAW);
gl.bindBuffer(gl.ARRAY_BUFFER, null);
IndexBuffer = gl.createBuffer();
gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, IndexBuffer);
gl.bufferData(gl.ELEMENT_ARRAY_BUFFER, new Uint16Array(indices), gl.STATIC_DRAW);
gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, null);
}
function initBuffer(ArrayBuffer,ArrayData,InitType){
ArrayBuffer = gl.createBuffer();
if(InitType==1)
{
gl.bindBuffer(gl.ARRAY_BUFFER, ArrayBuffer);
gl.bufferData(gl.ARRAY_BUFFER, new Float32Array(ArrayData), gl.STATIC_DRAW);
gl.bindBuffer(gl.ARRAY_BUFFER, null);
}
else
{
gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, ArrayBuffer);
gl.bufferData(gl.ELEMENT_ARRAY_BUFFER, new Uint16Array(ArrayData), gl.STATIC_DRAW);
gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, null);
}
}
initBuffer(VertexBuffer,vertices,1);
initBuffer(IndexBuffer,indices,2);