sdf
This commit is contained in:
parent
e8f0988d46
commit
131a8c5fcd
37
main.zig
37
main.zig
@ -36,6 +36,11 @@ const Vec3 = struct {
|
||||
b: Point,
|
||||
c: Point,
|
||||
};
|
||||
const Triangle = struct {
|
||||
bufa: *i32,
|
||||
bufb: *i32,
|
||||
bufc: *i32,
|
||||
};
|
||||
|
||||
pub fn main() !void {
|
||||
var win = Winsize{};
|
||||
@ -124,9 +129,32 @@ fn draw() !void {
|
||||
mv_axis_border_bounce(w, &vec2.b, 'Y');
|
||||
mv_axis_border_bounce(w, &vec2.c, 'x');
|
||||
mv_axis_border_bounce(w, &vec2.c, 'y');
|
||||
|
||||
i = 0;
|
||||
ii = 0;
|
||||
var fill: u8 = 0;
|
||||
var code: [4]u8 = std.mem.zeroes([4]u8);
|
||||
_ = try std.unicode.utf8Encode('█', &code);
|
||||
while (i < buffer.len) : (i += 4) {
|
||||
slice = buffer[i .. i + 4];
|
||||
if (i - ii >= w.ws_col) {
|
||||
ii += 1;
|
||||
}
|
||||
if (fill == 0 and std.mem.eql(u8, slice, &code) == true) {
|
||||
fill = 1;
|
||||
} else if (fill == 1 or fill == 2 and std.mem.eql(u8, slice, &code) == false) {
|
||||
_ = try std.unicode.utf8Encode('X', slice);
|
||||
fill = 2;
|
||||
} else if (fill == 2 and std.mem.eql(u8, slice, &code) == true) {
|
||||
fill = 3;
|
||||
} else if (fill == 3 and std.mem.eql(u8, slice, &code) == false) {
|
||||
fill = 0;
|
||||
}
|
||||
}
|
||||
|
||||
try out.print("{s}", .{buffer});
|
||||
_ = try stdin.readUntilDelimiterOrEof(&buf, '\n');
|
||||
sleep(30000000);
|
||||
//_ = try stdin.readUntilDelimiterOrEof(&buf, '\n');
|
||||
}
|
||||
}
|
||||
fn mv_axis_border_bounce(w: Winsize, point: *Point, axis: u8) void {
|
||||
@ -262,14 +290,7 @@ fn bresenham(buf: []u8, w: Winsize, p1: Point, p2: Point) !void {
|
||||
}
|
||||
|
||||
fn triangle(buffer: []u8, w: Winsize, vec: Vec3) !void {
|
||||
var vec_fill: Vec3 = vec;
|
||||
try bresenham(buffer, w, vec.a, vec.b);
|
||||
try bresenham(buffer, w, vec.b, vec.c);
|
||||
try bresenham(buffer, w, vec.c, vec.a);
|
||||
while (vec_fill.a.y < vec.c.y) : (vec_fill.a.y += 1) {
|
||||
try bresenham(buffer, w, vec_fill.a, vec.b);
|
||||
}
|
||||
while (vec_fill.a.y > vec.c.y) : (vec_fill.a.y -= 1) {
|
||||
try bresenham(buffer, w, vec_fill.a, vec.b);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user