From f7f8755215f2701698e173ad753f282231655bdd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juan=20Manuel=20Tom=C3=A1s?= Date: Sat, 30 Jan 2021 16:30:43 -0300 Subject: Optimize lerp creation Now it uses Rc instead of Box, reducing the space and time complexity from O(2^n) to O(n^2). --- src/main.rs | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) (limited to 'src/main.rs') diff --git a/src/main.rs b/src/main.rs index a61478f..25a3ec1 100644 --- a/src/main.rs +++ b/src/main.rs @@ -118,13 +118,13 @@ fn compile_bezier_shader(c: &Bezier) -> GLuint { FragColor = vec4(r, c, 0.0, 1.0); }} ", - s = c.degree, - vx = c.show_x(), - vy = c.show_y(), - px = &c.px, - py = &c.py, - sx = c.px.degree() + 1, - sy = c.py.degree() + 1, + s = c.degree, + vx = c.show_x(), + vy = c.show_y(), + px = &c.px, + py = &c.py, + sx = c.px.degree() + 1, + sy = c.py.degree() + 1, dpx = &c.dpx, dpy = &c.dpy, dsx = c.dpx.degree() + 1, @@ -182,7 +182,10 @@ fn main() { gl::Viewport(0, 0, window_w as i32, window_h as i32); } - let vertices: [f32; 18] = [1.0, 1.0, 0.0, 1.0, -1.0, 0.0, -1.0, 1.0, 0.0, 1.0, -1.0, 0.0, -1.0, -1.0, 0.0, -1.0, 1.0, 0.0]; + let vertices: [f32; 18] = [ + 1.0, 1.0, 0.0, 1.0, -1.0, 0.0, -1.0, 1.0, 0.0, 1.0, -1.0, 0.0, -1.0, -1.0, 0.0, -1.0, 1.0, + 0.0, + ]; let mut vbo: GLuint = 0; let mut vao: GLuint = 0; @@ -225,7 +228,7 @@ fn main() { } => { curve.push(x, window_h as i32 - y); compile_bezier_shader(&curve); - }, + } _ => {} } } -- cgit v1.2.3