ToolkitUtils.cs 806 B

12345678910111213141516171819202122232425262728
  1. 
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Text;
  5. using SharpGLTF.Geometry;
  6. using SharpGLTF.Geometry.VertexTypes;
  7. namespace SharpGLTF
  8. {
  9. static class ToolkitUtils
  10. {
  11. public static void AddConvexPolygon<TMaterial, TvG, TvM, TvS>(this PrimitiveBuilder<TMaterial, TvG, TvM, TvS> primitive, params VertexBuilder<TvG, TvM, TvS>[] vertices)
  12. where TvG : struct, IVertexGeometry
  13. where TvM : struct, IVertexMaterial
  14. where TvS : struct, IVertexSkinning
  15. {
  16. for (int i = 2; i < vertices.Length; ++i)
  17. {
  18. var a = vertices[0];
  19. var b = vertices[i - 1];
  20. var c = vertices[i];
  21. primitive.AddTriangle(a, b, c);
  22. }
  23. }
  24. }
  25. }