{
let cubeVertexBuffer, cubeIndexBuffer, cubeColorBuffer;
cubeVertexBuffer = gl.createBuffer();
gl.bindBuffer(gl.ARRAY_BUFFER, cubeVertexBuffer);
let vertices = [
0.5, 0.5, -.5,
-0.5, 0.5, -.5,
-0.5, -0.5, -.5,
0.5, -0.5, -.5,
0.5, 0.5, .5,
-0.5, 0.5, .5,
-0.5, -0.5, .5,
0.5, -0.5, .5
];
gl.bufferData(gl.ARRAY_BUFFER, new Float32Array(vertices), gl.STATIC_DRAW);
cubeVertexBuffer.itemSize = 3;
cubeVertexBuffer.numItems = 8;
let indices = [
0,1,2, 0,2,3,
0,3,7, 0,7,4,
6,2,3, 6,3,7,
5,1,2, 5,2,6,
5,1,0, 5,0,4,
5,6,7, 5,7,4];
indices = [0,1,2, 0,2,3, 0,3,7, 0, 7,4, 6,2,3,6,3,7,5,1,2, 5,2,6,5,1,0,5,0,4,5,6,7,5,7,4];
cubeIndexBuffer = gl.createBuffer();
gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, cubeIndexBuffer);
gl.bufferData(gl.ELEMENT_ARRAY_BUFFER, new Uint16Array(indices), gl.STATIC_DRAW);
cubeIndexBuffer.itemsize = 1;
cubeIndexBuffer.numItems = 36;
cubeColorBuffer = gl.createBuffer();
gl.bindBuffer(gl.ARRAY_BUFFER, cubeColorBuffer);
let colors = [
1.0, 0.0, 0.0,
0.0, 1.0, 0.0,
0.0, 0.0, 1.0,
1.0, 0.0, 0.0,
1.0, 0.0, 0.0,
0.0, 1.0, 0.0,
0.0, 0.0, 1.0,
1.0, 0.0, 0.0
];
gl.bufferData(gl.ARRAY_BUFFER, new Float32Array(colors), gl.STATIC_DRAW);
cubeColorBuffer.itemSize = 3;
cubeColorBuffer.numItems = 8;
gl.enable(gl.DEPTH_TEST);
draw(cubeVertexBuffer, cubeIndexBuffer, cubeColorBuffer);
return "OK"
}