diff options
Diffstat (limited to 'linux/apps/raytracing/1.cc.0')
-rw-r--r-- | linux/apps/raytracing/1.cc.0 | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/linux/apps/raytracing/1.cc.0 b/linux/apps/raytracing/1.cc.0 new file mode 100644 index 00000000..13d5a1b6 --- /dev/null +++ b/linux/apps/raytracing/1.cc.0 @@ -0,0 +1,28 @@ +// https://raytracing.github.io/books/RayTracingInOneWeekend.html +#include <iostream> + +int main() { + + // Image + + const int image_width = 256; + const int image_height = 256; + + // Render + + std::cout << "P3\n" << image_width << ' ' << image_height << "\n255\n"; + + for (int j = image_height-1; j >= 0; --j) { + for (int i = 0; i < image_width; ++i) { + auto r = double(i) / (image_width-1); + auto g = double(j) / (image_height-1); + auto b = 0.25; + + int ir = static_cast<int>(255.999 * r); + int ig = static_cast<int>(255.999 * g); + int ib = static_cast<int>(255.999 * b); + + std::cout << ir << ' ' << ig << ' ' << ib << '\n'; + } + } +} |