void cool_effect(rgb canvas[]) { draw_line(canvas, WHITE, (vec2) { cos(SDL_GetTicks()*0.001) * 300 + W/2, sin(SDL_GetTicks()*0.001) * 300 + H/2, }, (vec2) { W/2, H/2 }); draw_line(canvas, WHITE, (vec2) { cos(SDL_GetTicks()*0.001+1.333*PI) * 300 + W/2, sin(SDL_GetTicks()*0.001+1.333*PI) * 300 + H/2, }, (vec2) { W/2, H/2 }); draw_line(canvas, WHITE, (vec2) { cos(SDL_GetTicks()*0.001+0.667*PI) * 300 + W/2, sin(SDL_GetTicks()*0.001+0.667*PI) * 300 + H/2, }, (vec2) { W/2, H/2 }); /* vec2 a = {0, 100}, b = {200, 0}, c = {200, 200}; */ vec2 a = { cos(SDL_GetTicks()*0.001) * 300 + W/2, sin(SDL_GetTicks()*0.001) * 300 + H/2 }; vec2 b = { cos(SDL_GetTicks()*0.001+0.667*PI) * 300 + W/2, sin(SDL_GetTicks()*0.001+0.667*PI) * 300 + H/2 }; vec2 c = { cos(SDL_GetTicks()*0.001+1.333*PI) * 300 + W/2, sin(SDL_GetTicks()*0.001+1.333*PI) * 300 + H/2, }; for (int i = 0; i < 10; i++) { fill_triangle(canvas, i % 2 ? BLACK : WHITE, (triangle2){a, b, c}); vec2 tmp_a = midpoint(a, b); vec2 tmp_b = midpoint(b, c); vec2 tmp_c = midpoint(c, a); a = tmp_a; b = tmp_b; c = tmp_c; } }