diff --git a/color.c b/color.c index b70829f..de5d685 100644 --- a/color.c +++ b/color.c @@ -1,6 +1,7 @@ #include "color.h" #include "utils.h" +#include #include Color color_add(Color c1, Color c2) { @@ -21,9 +22,9 @@ Color color_lerp(Color c1, Color c2, double t) { void color_write(FILE *out, Color c, int samples_per_pixel) { double scale = 1.0 / samples_per_pixel; - double r = c.r * scale; - double g = c.g * scale; - double b = c.b * scale; + double r = sqrt(c.r * scale); + double g = sqrt(c.g * scale); + double b = sqrt(c.b * scale); int ir = (int)(256 * clamp(r, 0.0, 0.999)); int ig = (int)(256 * clamp(g, 0.0, 0.999)); diff --git a/main.c b/main.c index 20b711e..2d972ab 100644 --- a/main.c +++ b/main.c @@ -16,7 +16,7 @@ Color ray_color(Ray r, Hittable world, int depth) { return (Color){0, 0, 0}; HitRecord record; - if (hittable_hit(&world, r, 0, DBL_MAX, &record)) { + if (hittable_hit(&world, r, 0.001, DBL_MAX, &record)) { Point3 target = point3_add( record.p, vec3_add(record.normal, vec3_random_in_unit_sphere())); return color_mul(0.5,