public void Circle(Vector2 center, double radius, PolygonRenderOptions options) { Polygon(center, radius, 0, CIRCLE_VERTEX_COUNT, options); }
public void Polygon(Vector2 center, double radius, double angle, int vertexCount, PolygonRenderOptions options) { double vertexAngle = Math.PI / vertexCount; if (options.DoFill) { GL.Enable(EnableCap.LineSmooth); GL.LineWidth(options.BorderWidth); GL.Color4(options.FillColor); GL.Begin(PrimitiveType.Polygon); for (int i = 0; i < vertexCount; i++) { Vector2 point = Vector2.FromPolar(angle + i * vertexAngle, radius); GL.Vertex2(ToGL(point)); } GL.End(); } GL.LineWidth(options.BorderWidth); GL.Color4(options.Color); GL.Begin(PrimitiveType.LineLoop); for (int i = 0; i < vertexCount; i++) { Vector2 point = Vector2.FromPolar(angle + i * vertexAngle, radius); GL.Vertex2(ToGL(point)); } GL.End(); GL.Disable(EnableCap.LineSmooth); }