From 0da549d9695137ff0a24dfb9e5957b5784e1cc85 Mon Sep 17 00:00:00 2001 From: NADAL Jean-Baptiste Date: Tue, 12 Mar 2024 23:57:12 +0100 Subject: [PATCH] [FIX] Fix refraction in world and update chapter 11 exemple --- README.md | 6 +- apps/CMakeLists.txt | 7 +- apps/{chapter_11.cpp => chapter_11_p1.cpp} | 6 +- apps/chapter_11_p2.cpp | 122 +++++++++++++++++++++ data/chapter_11.png | Bin 46002 -> 0 bytes data/chapter_11_p1.png | Bin 0 -> 51640 bytes raytracing/src/renderer/world.cpp | 2 +- 7 files changed, 134 insertions(+), 9 deletions(-) rename apps/{chapter_11.cpp => chapter_11_p1.cpp} (97%) create mode 100644 apps/chapter_11_p2.cpp delete mode 100644 data/chapter_11.png create mode 100644 data/chapter_11_p1.png diff --git a/README.md b/README.md index 2518a3c..7ca9601 100644 --- a/README.md +++ b/README.md @@ -27,6 +27,6 @@ The Web Site of the book: http://raytracerchallenge.com/ |:------------------------: | :------------------------: | :----------------------------: | |![07](data/chapter_07.png) | ![08](data/chapter_08.png) | ![09](data/chapter_09.png) | -| Chapiter 10 | Chapiter 11 | Chapiter 12 | -|:------------------------: | :------------------------: | :----------------------------: | -|![10](data/chapter_10.png) | | | \ No newline at end of file +| Chapiter 10 | Chapiter 11 partie 01 | Chapiter 11 partie 02 | +|:------------------------: | :---------------------------: | :----------------------------: | +|![10](data/chapter_10.png) | ![11](data/chapter_11_p1.png) | | diff --git a/apps/CMakeLists.txt b/apps/CMakeLists.txt index ad46a47..41e7620 100644 --- a/apps/CMakeLists.txt +++ b/apps/CMakeLists.txt @@ -22,5 +22,8 @@ target_link_libraries(chapter_09 PRIVATE raytracing gcov OpenMP::OpenMP_CXX) add_executable(chapter_10 chapter_10.cpp) target_link_libraries(chapter_10 PRIVATE raytracing gcov OpenMP::OpenMP_CXX) -add_executable(chapter_11 chapter_11.cpp) -target_link_libraries(chapter_11 PRIVATE raytracing gcov OpenMP::OpenMP_CXX) +add_executable(chapter_11_p1 chapter_11_p1.cpp) +target_link_libraries(chapter_11_p1 PRIVATE raytracing gcov OpenMP::OpenMP_CXX) + +add_executable(chapter_11_p2 chapter_11_p2.cpp) +target_link_libraries(chapter_11_p2 PRIVATE raytracing gcov OpenMP::OpenMP_CXX) diff --git a/apps/chapter_11.cpp b/apps/chapter_11_p1.cpp similarity index 97% rename from apps/chapter_11.cpp rename to apps/chapter_11_p1.cpp index 193dab0..a912c7c 100644 --- a/apps/chapter_11.cpp +++ b/apps/chapter_11_p1.cpp @@ -1,5 +1,5 @@ /*! - * chapter_11.cpp + * chapter_11_p1.cpp * * Copyright (c) 2024, NADAL Jean-Baptiste. All rights reserved. * @@ -47,7 +47,7 @@ int main(void) Sphere *the_middle, *the_right, *the_left; chrono::time_point the_start, the_end; - printf("Chapter 11 example.\n"); + printf("Chapter 11 part1 example.\n"); // Floor is an extremely flattened sphere with a matte texture. the_floor = new Plane(); @@ -106,7 +106,7 @@ int main(void) the_canvas = the_camera.render(the_world); the_end = chrono::high_resolution_clock::now(); - the_canvas.save_to_file("chapter11.ppm"); + the_canvas.save_to_file("chapter_11_p1.ppm"); chrono::duration the_elapsed_time = the_end - the_start; printf("Execution Time: %f secondes\n", the_elapsed_time.count()); diff --git a/apps/chapter_11_p2.cpp b/apps/chapter_11_p2.cpp new file mode 100644 index 0000000..451d7bf --- /dev/null +++ b/apps/chapter_11_p2.cpp @@ -0,0 +1,122 @@ +/*! + * chapter_11_p2.cpp + * + * Copyright (c) 2024, NADAL Jean-Baptiste. All rights reserved. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301 USA + * + * @Author: NADAL Jean-Baptiste + * @Date: 12/03/2024 + * + */ + +// This is an independent project of an individual developer. Dear PVS-Studio, please check it. +// PVS-Studio Static Code Analyzer for C, C++, C#, and Java: http://www.viva64.com + +#include +#include + +#include + +/* ------------------------------------------------------------------------- */ + +using namespace Raytracer; +using namespace std; + +/* ------------------------------------------------------------------------- */ + +int main(void) +{ + World the_world; + Camera the_camera; + Canvas the_canvas; + Plane *the_floor, *the_left_wall, *the_right_wall; + Sphere *the_middle, *the_right, *the_left; + chrono::time_point the_start, the_end; + + printf("Chapter 11 part2 example.\n"); + + // Floor is an extremely flattened sphere with a matte texture. + the_floor = new Plane(); + Material &the_floor_material = the_floor->material(); + the_floor_material.set_specular(0.0); + the_floor_material.set_reflective(0.4); + the_floor_material.set_pattern(new CheckersPattern(Color(0.35, 0.35, 0.35), Color(0.65, 0.65, 0.65))); + the_world.add_object(the_floor); + + // Left Wall + the_left_wall = new Plane(); + the_left_wall->set_transform(Matrix::translation(0, 0, 10) * + Matrix::rotation_y(-std::numbers::pi / 4) * + Matrix::rotation_x(std::numbers::pi / 2)); + Material &the_left_wall_material = the_left_wall->material(); + the_left_wall_material.set_specular(0); + the_left_wall_material.set_pattern(new StripePattern(Color(0.52, 0.52, 0.52), Color::Black())); + the_left_wall_material.pattern()->set_transform(Matrix::rotation_y(std::numbers::pi / 2)); + the_world.add_object(the_left_wall); + + // Right Wall + the_right_wall = new Plane(); + the_right_wall->set_transform(Matrix::translation(0, 5, 10) * + Matrix::rotation_y(std::numbers::pi / 4) * + Matrix::rotation_x(std::numbers::pi / 2)); + Material &the_right_wall_material = the_right_wall->material(); + the_right_wall_material.set_specular(0); + the_right_wall_material.set_pattern(new StripePattern(Color(0.52, 0.52, 0.52), Color::Black())); + the_right_wall_material.pattern()->set_transform(Matrix::rotation_y(std::numbers::pi / 2)); + the_world.add_object(the_right_wall); + + // The large sphere in the middle is a unit sphere, translated upward slightly and colored green. + the_middle = new Sphere(); + the_middle->set_transform(Matrix::translation(-0.25, 1, 1.5) * + Matrix::rotation_y(-std::numbers::pi / 1.5) * + Matrix::rotation_z(-std::numbers::pi / 6)); + + Material &the_middle_material = the_middle->material(); + the_middle_material.set_color(Color(0, 0.2, 0.)); + the_middle_material.set_ambient(0.0); + the_middle_material.set_diffuse(0.4); + the_middle_material.set_specular(0.9); + the_middle_material.set_shininess(300); + the_middle_material.set_transparency(0.9); + the_middle_material.set_reflective(0.9); + the_middle_material.set_refractive_index(1.5); + the_world.add_object(the_middle); + + // The Light source is white, shining from above and to the left + the_world.set_light(PointLight(Tuple::Point(-10, 10, -10), Color(1, 1, 1))); + + // Configure the camera. + the_camera = Camera(100, 50, std::numbers::pi / 3); + // the_camera = Camera(320, 200, std::numbers::pi / 3); + // the_camera = Camera(640, 480, std::numbers::pi / 3); + the_camera.set_transform( + Matrix::view_transform(Tuple::Point(0, 1.5, -5), Tuple::Point(0, 1, 0), Tuple::Vector(0, 1, 0))); + + the_start = chrono::high_resolution_clock::now(); + the_canvas = the_camera.render(the_world); + the_end = chrono::high_resolution_clock::now(); + + the_canvas.save_to_file("chapter_11_p2.ppm"); + + chrono::duration the_elapsed_time = the_end - the_start; + printf("Execution Time: %f secondes\n", the_elapsed_time.count()); + + return 0; +} + +// Chapter 11 example. +// Execution Time: 904.052568 secondes \ No newline at end of file diff --git a/data/chapter_11.png b/data/chapter_11.png deleted file mode 100644 index b4b9b3d3bf5877eacf864ac3ce768e3e93c48ff6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 46002 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 diff --git a/data/chapter_11_p1.png b/data/chapter_11_p1.png new file mode 100644 index 0000000000000000000000000000000000000000..c7d8255a991ec5a08a1d8005c6608ce53c58c554 GIT binary patch literal 51640 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 D?Z}=M literal 0 HcmV?d00001 diff --git a/raytracing/src/renderer/world.cpp b/raytracing/src/renderer/world.cpp index 6f8451d..1303dc0 100644 --- a/raytracing/src/renderer/world.cpp +++ b/raytracing/src/renderer/world.cpp @@ -267,7 +267,7 @@ Color World::color_at(const Ray &a_ray, uint32_t a_remaining) const return the_color; } - IntersectionData the_comps = the_intersec.prepare_computations(a_ray); + IntersectionData the_comps = the_intersec.prepare_computations(a_ray, &the_intersections); the_color = shade_hit(the_comps, a_remaining);