var utils = require('../../utils');
/**
* Builds a polygon to draw
*
* @private
* @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties
* @param webGLData {object} an object containing all the webGL-specific information to create this shape
*/
var buildPoly = function (graphicsData, webGLData)
{
var points = graphicsData.points;
if (points.length < 6)
{
return;
}
// get first and last point.. figure out the middle!
var verts = webGLData.points;
var indices = webGLData.indices;
var length = points.length / 2;
// sort color
var color = utils.hex2rgb(graphicsData.fillColor);
var alpha = graphicsData.fillAlpha;
var r = color[0] * alpha;
var g = color[1] * alpha;
var b = color[2] * alpha;
var triangles = earcut(points, null, 2);
if (!triangles) {
return false;
}
var vertPos = verts.length / 6;
var i = 0;
for (i = 0; i < triangles.length; i+=3)
{
indices.push(triangles[i] + vertPos);
indices.push(triangles[i] + vertPos);
indices.push(triangles[i+1] + vertPos);
indices.push(triangles[i+2] +vertPos);
indices.push(triangles[i+2] + vertPos);
}
for (i = 0; i < length; i++)
{
verts.push(points[i * 2], points[i * 2 + 1],
r, g, b, alpha);
}
return true;
};
module.exports = buildPoly;