Click here to Skip to main content
15,890,185 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Why Former works, but latter doesn't
JavaScript
function initBuffers() {
 
    //The following code snippet creates a vertex buffer and binds the vertices to it
    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);
 
    //The following code snippet creates a vertex buffer and binds the indices to it
    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);  
}


JavaScript
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);
Posted

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900