Hi,
I would like to do the refractoring for the re-use. However, I have some problems in doing it with the following coding:
I want to extract the content of initBuffer() into another js file as a function. However, when I do it, the parameters cannot be returned. Is there any methods to refractoring this code?Code:var prismVertexPositionBuffer; var prismVertexPositionBuffer2; var prismVertexPositionBuffer3; var prismVertexNormalBuffer; var prismVertexColorBuffer; var prismVertexColorBuffer2; var prismVertexIndexBuffer; var prismVertexIndexBuffer2; var prismVertexIndices; var prismVertexIndices2; var unpackedColors; var vectices; var normalData; var height = 2; var n = 12 var twoPi = 2.0 * 3.14159; function initBuffers() { vertices = [0, 0, 0]; vertices2 = [0, height, 0]; vertices3 = []; normalData = [0, 0, 1]; unpackedColors = [1, 0, 0, 1]; unpackedColors2 = []; prismVertexIndices = []; prismVertexIndices2 = []; for (var j = 0; j < n; j++) { vertices = vertices.concat([Math.cos((j - 1) * twoPi / n), 0.0, Math.sin((j - 1) * twoPi / n)]); vertices2 = vertices2.concat([Math.cos((j - 1) * twoPi / n), height, Math.sin((j - 1) * twoPi / n)]); vertices3 = vertices3.concat([Math.cos((j - 1) * twoPi / n), 0.0, Math.sin((j - 1) * twoPi / n)]); vertices3 = vertices3.concat([Math.cos((j - 1) * twoPi / n), height, Math.sin((j - 1) * twoPi / n)]); normalData = normalData.concat([0, 0, 1]); unpackedColors = unpackedColors.concat([1.0, 0.0, 0.0, 1.0]); unpackedColors2 = unpackedColors2.concat([1.0, 0.5, 0.0, 1.0]); unpackedColors2 = unpackedColors2.concat([1.0, 0.5, 0.0, 1.0]); prismVertexIndices = prismVertexIndices.concat([0, j + 1, (j + 1 < n ? j + 2 : 1)]); prismVertexIndices2 = prismVertexIndices2.concat([j * 2, j * 2 + 1, (j + 1 < n ? j * 2 + 2 : 1)]); prismVertexIndices2 = prismVertexIndices2.concat([j * 2 + 1, (j + 1 < n ? j * 2 + 2 : 1), (j + 1 < n ? j * 2 + 3 : 2)]); } }



Bookmarks