|
@@ -100,16 +100,18 @@ void Path2D::_notification(int p_what) {
|
|
|
#endif
|
|
|
const Color color = Color(0.5, 0.6, 1.0, 0.7);
|
|
|
|
|
|
- for (int i = 0; i < curve->get_point_count(); i++) {
|
|
|
- Vector2 prev_p = curve->get_point_position(i);
|
|
|
+ _cached_draw_pts.resize(curve->get_point_count() * 8);
|
|
|
+ int count = 0;
|
|
|
|
|
|
- for (int j = 1; j <= 8; j++) {
|
|
|
- real_t frac = j / 8.0;
|
|
|
+ for (int i = 0; i < curve->get_point_count(); i++) {
|
|
|
+ for (int j = 0; j < 8; j++) {
|
|
|
+ real_t frac = j * (1.0 / 8.0);
|
|
|
Vector2 p = curve->interpolate(i, frac);
|
|
|
- draw_line(prev_p, p, color, line_width);
|
|
|
- prev_p = p;
|
|
|
+ _cached_draw_pts.set(count++, p);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ draw_polyline(_cached_draw_pts, color, line_width, true);
|
|
|
}
|
|
|
}
|
|
|
|