private void OnRepaint(SceneView sceneView, Event e) { OnRepaintGUI(sceneView, e); if (activePolygon != null && activePolygon.Vertices.Length >= 3) { Camera sceneViewCamera = sceneView.camera; SabreCSGResources.GetVertexMaterial().SetPass(0); GL.PushMatrix(); GL.LoadPixelMatrix(); GL.Begin(GL.QUADS); GL.Color(Color.white); Vector3 target = sceneViewCamera.WorldToScreenPoint(mouseHoverPoint); if (target.z > 0) { // Make it pixel perfect target = MathHelper.RoundVector3(target); SabreGraphics.DrawBillboardQuad(target, 8, 8); } GL.End(); GL.PopMatrix(); Handles.DrawWireArc(mouseHoverPoint, activePolygon.Plane.normal, activePolygon.GetTangent(), 360f, brushRadius); } }