1 module prova.graphics.shapes.circlemesh; 2 3 import prova.graphics, 4 prova.math; 5 6 /// 7 class CircleMesh : Mesh 8 { 9 /// 10 this(float radius, int segments) 11 { 12 float[] vertices; 13 uint[] indexes; 14 15 indexes.length = segments + 1; 16 vertices.length = indexes.length * 2; 17 18 foreach(i; 0 .. indexes.length) 19 { 20 Vector2 point; 21 point.setMagnitude(radius); 22 point.setDirection(i * 360 / segments); 23 24 vertices[i * 2] = point.x; 25 vertices[i * 2 + 1] = point.y; 26 indexes[i] = cast(uint) i; 27 } 28 29 setVBO(vertices, 2); 30 setIBO(indexes); 31 } 32 }