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 }