Write test ppm image to stdout.
This commit is contained in:
parent
93bfeb9125
commit
f3aace486b
@ -1,7 +1,29 @@
|
|||||||
const std = @import("std");
|
const std = @import("std");
|
||||||
|
|
||||||
pub fn main() anyerror!void {
|
pub fn main() anyerror!void {
|
||||||
std.log.info("All your codebase are belong to us.", .{});
|
const image_width: usize = 256;
|
||||||
|
const image_height: usize = 256;
|
||||||
|
|
||||||
|
const stdout = std.io.getStdOut();
|
||||||
|
|
||||||
|
std.log.info("Writing image {d}x{d}\n", .{ image_width, image_height });
|
||||||
|
try stdout.writer().print("P3\n{d} {d}\n255\n", .{ image_width, image_height });
|
||||||
|
|
||||||
|
var j: usize = 0;
|
||||||
|
while (j < image_height) : (j += 1) {
|
||||||
|
var i: usize = 0;
|
||||||
|
while (i < image_width) : (i += 1) {
|
||||||
|
var r = @intToFloat(f32, i) / @intToFloat(f32, image_width - 1);
|
||||||
|
var g = @intToFloat(f32, image_height - j - 1) / @intToFloat(f32, image_height - 1);
|
||||||
|
var b: f32 = 0.25;
|
||||||
|
|
||||||
|
var ir = @floatToInt(u8, 255.999 * r);
|
||||||
|
var ig = @floatToInt(u8, 255.999 * g);
|
||||||
|
var ib = @floatToInt(u8, 255.999 * b);
|
||||||
|
|
||||||
|
try stdout.writer().print("{d} {d} {d}\n", .{ ir, ig, ib });
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
test "basic test" {
|
test "basic test" {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user