From d06d07217f68f12daea50be1b9df0965233da201 Mon Sep 17 00:00:00 2001 From: vonhyou Date: Mon, 19 Feb 2024 01:15:30 -0500 Subject: [PATCH] use save ppm --- src/RayTracer.cc | 14 ++------------ src/RayTracer.h | 2 +- 2 files changed, 3 insertions(+), 13 deletions(-) diff --git a/src/RayTracer.cc b/src/RayTracer.cc index b6d91af..dcbce9d 100644 --- a/src/RayTracer.cc +++ b/src/RayTracer.cc @@ -20,7 +20,7 @@ void RayTracer::parse() { void RayTracer::render(Scene *scene) { int width = scene->getWidth(); int height = scene->getHeight(); - Buffer buffer(width * height); + Buffer buffer(width * height * 3); Task *task = new Task(scene, buffer); tasks.push_back(task); } @@ -30,17 +30,7 @@ void RayTracer::output(Task *task) { int width = task->first->getWidth(); int height = task->first->getHeight(); - std::ofstream fout(path, std::ios_base::out | std::ios_base::binary); - fout << "P6" << std::endl - << width << ' ' << height << std::endl - << "255" << std::endl; - - Buffer buffer = task->second; - for (int i = 0; i < height; ++i) - for (int j = 0; j < width; ++j) - fout << 255.0 * buffer[i * width + j].transpose() << ' '; - - fout.close(); + save_ppm(path, task->second, width, height); } void RayTracer::run() { diff --git a/src/RayTracer.h b/src/RayTracer.h index 1ac2649..95c917c 100644 --- a/src/RayTracer.h +++ b/src/RayTracer.h @@ -9,7 +9,7 @@ #include #include -using Buffer = std::vector; +using Buffer = std::vector; using Task = std::pair; class RayTracer {