61 lines
1.6 KiB
C
61 lines
1.6 KiB
C
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;
|
|
}
|
|
}
|