add second demo

This commit is contained in:
2024-10-11 09:39:13 -04:00
parent 0a45b81085
commit cb84d2ed20

View File

@@ -21,11 +21,12 @@ main :: () {
fill_entire_screen(screen, BLANK_PIXEL);
// cool_demo_2(screen, offset, theta);
cool_demo_1(screen, offset, theta);
annoying_color_effect(screen, offset);
draw_text(screen, .{10, 10}, "[ TEXT-BASED RENDERING DEMO ]");
draw_text(screen, .{10, 40}, "[ TEXT-BASED RENDERING DEMO ]");
swap_buffer(screen);
sleep_milliseconds(20);
@@ -55,20 +56,19 @@ cool_demo_1 :: (screen: *Screen, offset: s64, theta: s64) {
translate(.{50, 20}, *t1);
rotate(theta, get_triangle_centroid(t1), *t1);
draw_triangle(screen, t1, #char "%");
draw_triangle(screen, t1, #char ")");
t2 := t1;
scale(.{0.2, 0.2}, *t1);
draw_triangle(screen, t1, #char "%");
// draw centroid lines
// draw_line(screen, get_triangle_centroid(t1), get_triangle_centroid(t2), #char ".");
draw_line(screen, get_triangle_centroid(t1), get_triangle_centroid(t2), #char ".");
// draw_line(screen, get_triangle_centroid(t1), t1.p1, #char ".");
// draw_line(screen, get_triangle_centroid(t1), t1.p2, #char ".");
// draw_line(screen, get_triangle_centroid(t1), t1.p3, #char ".");
// draw_line(screen, get_triangle_centroid(t1), t1.p3, #char ".");18
// draw_line(screen, get_triangle_centroid(t2), t2.p1, #char ".");
// draw_line(screen, get_triangle_centroid(t2), t2.p2, #char ".");
// draw_line(screen, get_triangle_centroid(t2), t2.p3, #char ".");
@@ -82,13 +82,26 @@ cool_demo_1 :: (screen: *Screen, offset: s64, theta: s64) {
cool_demo_2 :: (screen: *Screen, offset: s64, theta: s64) {
q1 := make_quad_from_rect(
.{100, 10},
.{110, 20}
.{50, 10},
.{60, 20}
);
rotate(-theta, .{100, 10}, *q1);
rotate(-theta * 4, .{55, 15}, *q1);
translate(.{-30, 0}, *q1);
draw_quad(screen, q1);
draw_quad(screen, q1, #char "-");
q2 := q1;
scale(.{3, 3}, *q1);
// rotate(theta, .{60, 15}, *q1);
rotate(theta, .{60, 15}, *q1);
draw_quad(screen, q1);
draw_line(screen, q1.p1, q2.p1, #char ".");
draw_line(screen, q1.p2, q2.p2, #char ".");
draw_line(screen, q1.p3, q2.p3, #char ".");
draw_line(screen, q1.p4, q2.p4, #char ".");
}
#import "Console_Render";