addTriangleFan method

void addTriangleFan(
  1. List<Vector3> vertices,
  2. List<Vector2> texCoords, [
  3. List<Vector3> normals = const [],
  4. List<Color> colors = const [],
])

Implementation

void addTriangleFan(
  List<Vector3> vertices,
  List<Vector2> texCoords, [
  List<Vector3> normals = const [],
  List<Color> colors = const [],
  // TODO(wolfen): support tangents
]) {
  assert(vertices.length == 3, 'Expected a length of 3 for vertices');

  void addPoint(int n) {
    if (texCoords.length > n) {
      setTexCoord(texCoords[n]);
    }
    if (colors.length > n) {
      setColor(colors[n]);
    }
    if (normals.length > n) {
      setNormal(normals[n]);
    }
    // TODO(wolfen): tangents
    addVertex(vertices[n]);
  }

  for (var i = 0; i < vertices.length - 2; i++) {
    addPoint(0);
    addPoint(i + 1);
    addPoint(i + 2);
  }
}