From d2fe968717eb2afaf49fbd36baeb62bf35fced32 Mon Sep 17 00:00:00 2001 From: NADAL Jean-Baptiste Date: Wed, 13 Mar 2024 13:23:36 +0100 Subject: [PATCH] [FEAT] Finish the Chapter 11 --- .vscode/settings.json | 3 +- README.md | 2 +- apps/CMakeLists.txt | 2 +- apps/chapter_11_p2.cpp | 164 +++++++-- data/chapter_11_p2.png | Bin 0 -> 161417 bytes raytracing/CMakeLists.txt | 2 +- raytracing/include/external/ProgressBar.hpp | 327 ++++++++++++++++++ .../include/external}/catch.hpp | 0 raytracing/src/renderer/camera.cpp | 35 +- raytracing/src/renderer/camera.h | 3 + tests/01_tuples.cpp | 2 +- tests/02_1_colors.cpp | 2 +- tests/02_2_canvas.cpp | 2 +- tests/03_matrix.cpp | 2 +- tests/04_transformations.cpp | 2 +- tests/05_rays.cpp | 2 +- tests/06_light_shading.cpp | 2 +- tests/07_making_scene.cpp | 2 +- tests/08_shadows.cpp | 2 +- tests/09_planes.cpp | 2 +- tests/10_patterns.cpp | 2 +- tests/11_reflection_refraction.cpp | 2 +- tests/main_test.cpp | 2 +- 23 files changed, 506 insertions(+), 58 deletions(-) create mode 100644 data/chapter_11_p2.png create mode 100644 raytracing/include/external/ProgressBar.hpp rename {tests => raytracing/include/external}/catch.hpp (100%) diff --git a/.vscode/settings.json b/.vscode/settings.json index 905b136..14b2b14 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -105,7 +105,8 @@ "/home/jbnadal/sources/jb/raytracer_challenge/build/apps/CMakeFiles/chapter_07.dir", "/home/jbnadal/sources/jb/raytracer_challenge/build/apps/CMakeFiles/chapter_09.dir", "/home/jbnadal/sources/jb/raytracer_challenge/build/apps/CMakeFiles/chapter_10.dir", - "/home/jbnadal/sources/jb/raytracer_challenge/build/apps/CMakeFiles/chapter_11.dir", + "/home/jbnadal/sources/jb/raytracer_challenge/build/apps/CMakeFiles/chapter_11_p1.dir", + "/home/jbnadal/sources/jb/raytracer_challenge/build/apps/CMakeFiles/chapter_11_p2.dir", "/home/jbnadal/sources/jb/raytracer_challenge/build/tests/CMakeFiles/raytracing_test.dir" ] } \ No newline at end of file diff --git a/README.md b/README.md index 7ca9601..597ef3f 100644 --- a/README.md +++ b/README.md @@ -29,4 +29,4 @@ The Web Site of the book: http://raytracerchallenge.com/ | Chapiter 10 | Chapiter 11 partie 01 | Chapiter 11 partie 02 | |:------------------------: | :---------------------------: | :----------------------------: | -|![10](data/chapter_10.png) | ![11](data/chapter_11_p1.png) | | +|![10](data/chapter_10.png) | ![11](data/chapter_11_p1.png) | ![11](data/chapter_11_p2.png) | diff --git a/apps/CMakeLists.txt b/apps/CMakeLists.txt index 41e7620..b81f54e 100644 --- a/apps/CMakeLists.txt +++ b/apps/CMakeLists.txt @@ -26,4 +26,4 @@ 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) +target_link_libraries(chapter_11_p2 PRIVATE raytracing OpenMP::OpenMP_CXX) diff --git a/apps/chapter_11_p2.cpp b/apps/chapter_11_p2.cpp index 451d7bf..722d79e 100644 --- a/apps/chapter_11_p2.cpp +++ b/apps/chapter_11_p2.cpp @@ -43,70 +43,158 @@ 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; + Plane *the_floor, *the_ceiling, *the_left_wall, *the_right_wall, *the_front_wall, *the_back_wall; + Sphere *the_back_sphere1, *the_back_sphere2, *the_back_sphere3, *the_back_sphere4; + Sphere *the_red_sphere, *the_green_sphere, *the_blue_sphere; chrono::time_point the_start, the_end; printf("Chapter 11 part2 example.\n"); - // Floor is an extremely flattened sphere with a matte texture. + // Wall Material + Material the_wall_material; + the_wall_material.set_pattern(new StripePattern(Color(0.45, 0.45, 0.45), Color(0.35, 0.35, 0.35))); + the_wall_material.pattern()->set_transform(Matrix::rotation_y(std::numbers::pi / 2) * + Matrix::scaling(0.25, 0.25, 0.25)); + the_wall_material.set_ambient(0.0); + the_wall_material.set_diffuse(0.4); + the_wall_material.set_specular(0.0); + the_wall_material.set_reflective(0.3); + + // Floor the_floor = new Plane(); Material &the_floor_material = the_floor->material(); + the_floor_material.set_pattern(new CheckersPattern(Color(0.35, 0.35, 0.35), Color(0.65, 0.65, 0.65))); 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_floor->set_transform(Matrix::rotation_y(-std::numbers::pi / 10)); the_world.add_object(the_floor); + // Ceiling + the_ceiling = new Plane(); + Material &the_ceiling_material = the_ceiling->material(); + the_ceiling_material.set_color(Color(0.8, 0.8, 0.8)); + the_ceiling_material.set_ambient(0.3); + the_ceiling_material.set_specular(0.0); + the_ceiling->set_transform(Matrix::translation(0, 5, 0)); + the_world.add_object(the_ceiling); + // 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_left_wall->set_transform(Matrix::translation(-5, 0, 0) * + Matrix::rotation_z(-std::numbers::pi / 2) * + Matrix::rotation_y(std::numbers::pi / 2)); + the_left_wall->set_material(the_wall_material); 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_right_wall->set_transform(Matrix::translation(5, 0, 0) * + Matrix::rotation_z(-std::numbers::pi / 2) * + Matrix::rotation_y(std::numbers::pi / 2)); + the_right_wall->set_material(the_wall_material); 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)); + // Front Wall + the_front_wall = new Plane(); + the_front_wall->set_transform(Matrix::translation(0, 0, 5) * + Matrix::rotation_x(-std::numbers::pi / 2)); + the_front_wall->set_material(the_wall_material); + the_world.add_object(the_front_wall); - 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); + // Back Wall + the_back_wall = new Plane(); + the_back_wall->set_transform(Matrix::translation(0, 0, -5) * + Matrix::rotation_x(-std::numbers::pi / 2)); + the_back_wall->set_material(the_wall_material); + the_world.add_object(the_back_wall); + + // Back Sphere 1 + the_back_sphere1 = new Sphere(); + the_back_sphere1->set_transform(Matrix::translation(4.6, 0.4, 1.0) * + Matrix::scaling(0.4, 0.4, 0.4)); + Material &the_back_sphere1_material = the_back_sphere1->material(); + the_back_sphere1_material.set_color(Color(0.8, 0.5, 0.3)); + the_back_sphere1_material.set_shininess(50.0); + the_world.add_object(the_back_sphere1); + + // Back Sphere 2 + the_back_sphere2 = new Sphere(); + the_back_sphere2->set_transform(Matrix::translation(4.7, 0.3, 0.4) * + Matrix::scaling(0.3, 0.3, 0.3)); + Material &the_back_sphere2_material = the_back_sphere2->material(); + the_back_sphere2_material.set_color(Color(0.9, 0.4, 0.5)); + the_back_sphere2_material.set_shininess(50.0); + the_world.add_object(the_back_sphere2); + + // Back Sphere 3 + the_back_sphere3 = new Sphere(); + the_back_sphere3->set_transform(Matrix::translation(-1, 0.5, 4.5) * + Matrix::scaling(0.5, 0.5, 0.5)); + Material &the_back_sphere3_material = the_back_sphere3->material(); + the_back_sphere3_material.set_color(Color(0.4, 0.9, 0.6)); + the_back_sphere3_material.set_shininess(50.0); + the_world.add_object(the_back_sphere3); + + // Back Sphere 4 + the_back_sphere4 = new Sphere(); + the_back_sphere4->set_transform(Matrix::translation(-1.7, 0.3, 4.7) * + Matrix::scaling(0.3, 0.3, 0.3)); + Material &the_back_sphere4_material = the_back_sphere4->material(); + the_back_sphere4_material.set_color(Color(0.4, 0.6, 0.9)); + the_back_sphere4_material.set_shininess(50.0); + the_world.add_object(the_back_sphere4); + + // Red Sphere + the_red_sphere = new Sphere(); + the_red_sphere->set_transform(Matrix::translation(-0.6, 1, 0.6)); + Material &the_red_sphere_material = the_red_sphere->material(); + the_red_sphere_material.set_color(Color(1, 0.3, 0.2)); + the_red_sphere_material.set_specular(0.4); + the_red_sphere_material.set_shininess(5.0); + the_world.add_object(the_red_sphere); + + // Green Sphere + the_green_sphere = new Sphere(); + the_green_sphere->set_transform(Matrix::translation(-0.7, 0.5, -0.8) * + Matrix::scaling(0.5, 0.5, 0.5)); + Material &the_green_sphere_material = the_green_sphere->material(); + the_green_sphere_material.set_color(Color(0, 0.2, 0)); + the_green_sphere_material.set_ambient(0.0); + the_green_sphere_material.set_diffuse(0.4); + the_green_sphere_material.set_specular(0.9); + the_green_sphere_material.set_shininess(300.0); + the_green_sphere_material.set_reflective(0.9); + the_green_sphere_material.set_transparency(0.9); + the_green_sphere_material.set_refractive_index(1.5); + the_world.add_object(the_green_sphere); + + // Blue Sphere + the_blue_sphere = new Sphere(); + the_blue_sphere->set_transform(Matrix::translation(0.6, 0.7, -0.6) * + Matrix::scaling(0.7, 0.7, 0.7)); + Material &the_blue_sphere_material = the_blue_sphere->material(); + the_blue_sphere_material.set_color(Color(0, 0., 0.2)); + the_blue_sphere_material.set_ambient(0.0); + the_blue_sphere_material.set_diffuse(0.4); + the_blue_sphere_material.set_specular(0.9); + the_blue_sphere_material.set_shininess(300.0); + the_blue_sphere_material.set_reflective(0.9); + the_blue_sphere_material.set_transparency(0.9); + the_blue_sphere_material.set_refractive_index(1.5); + the_world.add_object(the_blue_sphere); // 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))); + the_world.set_light(PointLight(Tuple::Point(-4.9, 4.9, -1), 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 = Camera(100, 50, 1.152); + // the_camera = Camera(320, 200, 1.152); + the_camera = Camera(640, 480, 1.152); the_camera.set_transform( - Matrix::view_transform(Tuple::Point(0, 1.5, -5), Tuple::Point(0, 1, 0), Tuple::Vector(0, 1, 0))); + Matrix::view_transform(Tuple::Point(-2.6, 1.5, -3.9), Tuple::Point(-0.6, 1, -0.8), Tuple::Vector(0, 1, 0))); the_start = chrono::high_resolution_clock::now(); + the_camera.show_progress_bar(); the_canvas = the_camera.render(the_world); the_end = chrono::high_resolution_clock::now(); diff --git a/data/chapter_11_p2.png b/data/chapter_11_p2.png new file mode 100644 index 0000000000000000000000000000000000000000..17a318eca8571193738e5c942f61f9cdda09dd5c GIT binary patch literal 161417 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 z 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

Aw@qy;N_Oj;(1Z z0B=Vh=0ah+Qn_UsH5u!qxBHdv<6h26i3ktz>^S5W_u@spzf~g|K=JRnfuOmx(p+QiOw?hI@tL=Z&L2wuV4+Rm_=uawcU#-Ji=7^;s zsYLs&4monYxAPvNZ2ti~f!W8J?sM?NB~N@b46?s5&61;tOe+IFBhH`i6WB3qr;Tuf zGz)VOD|~1B)J!N;X5q5u@R*7C{CMNs=E!RRp-(^BIR|k7z4XVf5<=1%=P zn0+ZN(mta(e&fgH>Die(+HSL=(NS`vb2LHI6d3Hy>p2LHtj6>2J%mQE3V=9hH(iqV zb{Z?Onu&K#x-G#e?e^q`DIHRlrPA+huWagVs&QJiDX;%W27r^`FKlp+sZIdFrY0~C zgD2rnYXgG@2_aGM59Cf7h3^6^In1Sn3-$+c4PaXvD4jz%z+Mml!bu?4H+~=Bet+eT zJUHMUDXj(c;AgIl;m5+dNp(`}C8B>Nj9kG^c>1uki(`#J7d;kDcfy&Wv%iKswX%_5 zE|Wu*-)rE)p>%yn(J7a>jX_^<1OfTHc`-mSX#pX)$WaIZgO&?S2+9X@1H_km@x>S2 zSHAKU_oXj=$!h~a`}fOV{?fhw{`>CUy?Y)4!8rtDMaEtdB`VLCGFG7FIKiRN2EtOj zK|BVo{YkA*4gy_osdiYH{L{`K{2bvpL10pODYh~9mDBOS3-addrZr5!>RF7uT1r?%Ij0q}og zjv!SJ;JE&4rw*>!QVTg#i*j`3x$qz&XAzVy8Yg)tpm;5evR-{E+< zC`$xY_N;OM$s9)Zdv^%{xIK1PyPXF>&;agsm+m;k?2BPk_IoEZe#P}ML7>)##YY+x zBs6N#yonEyxzpNBve#d?O^Pl&csSiH*AVMH$ z1Yutw?FB5Ee&KiN0FmIW`lqj1CFsMl$aM8N!qgl9z@RBjP9JzBKX(|9i-X?*`e5%R)ceK7 zglr|*1b=hq?5U@U^sY@H-yuP;B*#)~{Ky*T=dGu#5u6LfPXqu*p-(r$ zNav$x57i;2$THHYtn{ZGg*TEX-MeJj2mr-|WeSyGFKJW6kq1)K!?iv#E=B?OE(p=K zHkcsD=5+~w9Nrj|SZ3QW@Ck0yp1|ZNB0w6Fjwvvju6}J9f2PKZPq+R2xPn6!aW_lDEY9Z#lX(s*I^ELTGPWdEE!3L z93!M^ClmuF#>!E4_OSK?j*Q7nLm6IrQkN(2qw#|tz`NDj9o@R^_TWJaK_C@cQ#`=4 zvs3rN3op3OeeQE!BM6@d4<2ND0rP!sHgJ`+guUTidcdYvOIO<8*Be5HWXT;n2tKh6 z68zB<=n0H3FZdflH-|r1n*ao^7GfYj7EyR<&mG=rmg^~gUmCVKkFq1OGH zoK!D|EN`oxthVW?i-Q8-T<{wKlPBS+OT^!5j5*hP-zY{0V~zQ#6eg2!AVo_HNDC*V?U(C{ zHV|ryKrrqNjPlBThuBx0ySjbmIpFf@+C8|zBdh+ew|^+k0uCj&*UbhIwK%Q>WzDf< z27(S$$X8gYB*Jc9R0;(Wr}%5Z)1w)vxl#w|rG>Ee3gKP&adhbp>eHp_=?B0BUox$}76FJ$rd~`T?h$2XZ>cGiVPO1N--CDW*6*hz z%^$%Z?E8bgmZbe7IW3Rh9e#Q|_B z=;JMIHS*K&)NL+WQ+x4%vkhf2ItY72o02BAgZ1ox3IJFJFm>Vw3vZFQP{ZF82t?2< z$q@mFnXIGkq*ntt41x^U3h;;A7{HK!C$C{+&mn;ymFepCsoU+>?(+KD-M_kVZ@u-F z+roLkeuIC~L`HkC?kLqYQ$lmKk5$sK`i`|nkI*V!3t%0VXaPEeVb|POMfy9PNsMp|&!hGb%)SZ!!0Zd#cgXY$&vWfxE!;~FL`|8$sg*1cKY>KM9h4yH{rsP?BhS$rX%G{ejzt5_RMF8+0{^1{%uEQ+7-i93Qlv4y> zB9A5Z@hu_8$Y7#-d*S3!D@R!m|QRZOYLycepF&RR}xr@^y=e9@g z2S0q%eS8VWexVr{51R_5XC~^R_AH|rUUQvMH98?Mhd(fZ< z!ZdmUO~WBX&EB~m{PaDyIy!Ne*EjCo1%>vwa-b73 zwSc((*&p-wvPQ>Dq*pCg0Z#L<+)N9gz>kFK&7Zj&h)1}xt5F}k{QTCQ{ecmJMVCgc zQW_6*5ylFbg4gc&^p3msAzaYR8uRte92g2l&P4$sx%NFg$>-pFe5aR=yq)((5a?RP z%WEYlO!5pgVh~R5BQ+#e{U<>mzc-Kjm!=sA4|3$&=HlWqYE+@F0RlmGfIkSf4Nf@V zWld1P9X@*3mKIR-relrK9tfo82nMI**D6D6ttwsb0iUU9k3RRTgWzBOhi%Qo9tg%!{)*k57DeH3nu?Il>RGGqSG~!H+ zUub5fYngeNX$6HTtPX+N6wKwaAutcU5|+Lg&cy;h8cPI*xc`rN2%Gx@DKEoGL~9cZ zjwk?v@BvdV6rC5l5V-v6u>P0+_N?t_wc^M zM6`D+iSeZU?_{DqsH${As?t!brn{aFRUZUAiU?Q2!IRWXNXgeh`NX;dqpLk`B?jy0t$ z@XQizVb#fh-dq>=-U-kP(1%l}ggc?>izYC-FYO7;HG<(D4WMBb=g<sai~Q5F$gSKZD{#Af_AgGQ^oSGib)zz&F%p;!73wX8b;?B+`|XY z0{DSvHJWu#{N6t@sRQu&pxxdKf8;~J5Cqo3z4Vu-9(rXYot|~NC%q{!_?r%bqs%aM zEw4SNWvBvR3;K9QJ)L3+$mpq*9$9+Q>8Z%xPJ1Ys=A^rHdz1iB^b`Jv(A*_hi<7a? z0xFX*Zib2*;iFkBCPQGD?-$!E^RS=hBL@)*CMe4G*acXE^5V0}gBSTNq``kLYWySw z(*7fYM9W;P^FtB#nTPOOZ@ukdx@vRpi&fYI1Q;xKjna z9vbuaBt+tm@W9JjuZA1&*G%P{p6tnX*1XUOgouG}}|o6}en80T8EkANiwreTpgc!XBw10|$R&)k6H$xQEHUH9A+Y|nFD z6)uvswS1J0)X`EMQvx6Zlo#rgo6%tn0Fy4<55K3-FW2tw-Osp-uqPAl0~0WKUPBs7 z$ND?80z$7By=%`X4EC<6BV)BC>(Xms4?F044pHus98@1B0FHnk9~?R}{g&8jgpmfF zQo&24KXotPp~^mzZp~wNiMk;W;c0z+8_d9LUmXu?5$}z#hYP=kK>QnlPhR7Dq5?D& zz%t8AEm?f8Uqm5-J-#Q;Fy-P;0p>dP01`Z+7LGj|gEoL^qK56`dMZhz&WbrTC5>6hF|QWJJU;7*^U(D_`s-z5#JHk~F7paFL(UkHQJ zg$Z3ZHAYD{Ve%5;cOFqtzMtsOFUbkSt-*m~>otHk`<45HFMr0}?Dp>b>c;&7qJD?y z0L9$uIC+vWTa_%Y^JmK;V9IIMOuAfjjNOOc&NR22 zZP#wQS-A(7DG)XRAcb~;dIjwuX#K$PgHHOudRu#qAbbG&KvM{90O|8U&pqHVGRH%H zPZ9)2WgCIPrGcnN)}HoQVy&#nvUIs?^8UqN`~~g-oa@O81#0aR>1lvNSMF%~Q-ROQ z=TPOZrCW}<)tZb)YYOkTWckK6Hv{9Mr_8sW-;(AIIWA~C;LS%yLmi^=hW7U;5B_~wPX?jPQK)15y) zclZ5?AlD8K3h|31TWPu3E%pGTtH4>p-MnKChF1UL&>=NumX~mkr>|}1Q*ulh7W$d4 z&3*}#l4om>C2fdhkzT^fPZ$T}y}Md(J@kQz|KEM_u5Zfg-OhdT_{x2J4e|aE{$L)X zg$00xjvs^Jh1xrN?Bc#Tl&i-~9A<&6aVZTBw=FYr4*)_r+U=Sei1z34evbR}=p|_9 zjy5Z|-K^d5cH=&N43P}*8q^=i3^5cTU-(W=H5B3negpIFty^cfM;K0-*+U&)dr$=J zpVs{KLdWR(Q38q4bV?(Yxbs-HNcK~7Exdt$r z%YufmgCf$s~qPTk3N?Ka^g zii_(T_t6ywA%+iVt$d^yFpr0GY56=spodzsl0%0i+cZx~Sg)Iceb4OfFx2J1sipU$ z+gCe(=skp#2WTvzgrND`temgQhnER33H(R{i1oVhd-~`*c>2Jt8iqxRrh&FtF) z9aGkjXB`BgzItHrISBTSfd2c20kEf&ma?DHdHahZ?;OdCcdU`;MrAux+Ed!(P_hts z@Va?v3meh-!fe1FJP>DibhTr3rxg{`pCcPGi=jqwnWG-E_&h-%j5DYMZw3y5o;?79R&ce6T0XcB zU=QmNzHhyDkLF%DR*!$+egZ&%KTGph>iMnteCph70o2sAEZO;9)6un&-`|44B|)&a z{H->bQ{LD!)t+3P=91;6w3`69WWjqY`_Pqn=sgl8`IjvJ+;&+~7F}MQ_RAgsjrV?L z>I$losJ~FAo&|xnR))8^B(UkVDD{be2sfZOlywNjZ^`s--i)3F#@bibixm7r20(6Gk zqhq()9J^bmw|slvzxScLeZ2AaJ-E1X+tb@#I&@CRk6;6!q5WwR1W_|d9|9k%s4(88 z)~&3))d8dJc_=-fG=M3j6z@A zmlWsk_U&8Yc?_?FL9};x+}nENzWL2JdU}btr!~hVY0vmMVJ&fQKwxPr>F^UYzsQsx(qzhm><_+J|VDsj{@%$eR|o>G&zQ|39xT@Ubwr z@0F&5Vw=THPthDqhu$N=5d_i%AO9w}3yUOAM+VO&>Fq_ImLBo1dD;gSMr-17jU3+( z$i8=hVLIsp_Y>uSX?Y-f*$qdO-HUhK)y>{LeE7)SyFt%T(C*P*z_;Ii3y%@gpDMhh zy^+;^(E~t@e5m`FCgAK@u`93%p-pFz9{Ei=3P1L00{Q+w{hj)DIIDKI2N>MCJ7>3j zEWne~Q+Iu{^WQ)G@I!a!&Ta3cKxSYB7H}G|K@hG33<4C%3d=V&a`UmZZ&q=Xs;g!KddX*>qp?{+@nX2z2gU@`|-ygdviMg zobh!UJ>m@f}jek+kV7&Z%|KdTvCPR$92Y@bf|C6JI9)GMuc{rTr@aAomz9z@XRq#r=gmZSG8B zo1L|sAp7p_soQUk+`~ub?$?)K`on#I0Dw?9+Gq9lTW=3Qpw!MC4g&cUCEgxFqm*(s zw1S1%ZVj>ZazE&l@Z4FFp4WC~ZT6)c>38;0<4wN+79gv40CDcl*)6Zd1P$QH>6zaX z=(SLL@(A5~O%!~%DVRVIv{|sf4L*EP1J723!Q=>HY0+pL)b}3q!uu2}T}5gD9mN>9B3Bj^B8*eN{9yVgU_v70N4P2kD{Z<>FKGvfB!y?tD__Lt#5rZ zmUGU0TZ4@`>1u$Ola|$>v_GGj^ zj~f2`%g-7eK-Nd@UAS9ExGxa;s5kAOoO*5VI=qxUdi2n1s|W-M25AgK+w+Bt zyoYP^N3P}56(m6p(z3LV>4nR#;L;w&B%Add{+2t0z@Aq))dSBxhGW^dqYTyy9hoT8 zrE`1X9@x_dAE;N-fS#V7xsN}-=YKys+Ij%|lRx);Aq%1vUm{aEjf$>cXr)cJ&8@_Xo-b@Ra z!oc7rehrA+frNcmp<+-5zR!vPffoNT`Nueb0S2?+&!mAP2+B2e6xt;-d!pI9{fl?p)y}yG4<5OXZm!+c)ums+U@st)AnyHRYo7o? zbB$)^)*eV&>Yh@E_31PCQ1=OIY(bW)r*Mz_J%dTyW56Gs`^)<|#QqBa=+?*X`ex-} z#G4y$a6g+5JL1ioJGVVKjZPx~EAXj-AY3P{ABmT=gJ?P?h~qH=bwKXE1*}$)$rHJ6 zVdZJ1?|6zwI5{N(_xbz!8 zi31tRHU)clVzB06i^c7!Em(Q;a8A8G=4 zd5w-Baom!pZ<=NCn=*UFJ%7pxgqwfUcb`D!ERxc|>(WUi3LthSH6c(rT1f3((hN$? zpL7Iy?e(zFkFZyZX9YI;Bw6rU+aDV02N}{l}jnS&4xNbCKTa;5;y1@@wR!X~6?@QQZ;YR)VOw<5k z`l$W0_5n7`%$bRpLdyit$GazPzdd#z-TT;maCPN9fxQ+m*bm8qIs$>_6x_=KJ@@t8 zV?ii~Dy6y17_pE?GjQ}2*{~Cury_Far5OH2Y5!nv-|@*wEb*g95PIY$>`lW!(MS6$ zpFZ>>gutEKtyb>r?3Mr;EFTtvd$j@#T63A!@WD0$1j4fBP&Q3pg;@Z|Wi8FX@En(g z05G2R;U7d92>Kvh4tel5gmwXsdHhJ3p>8M^BN-H0@W}+!PT&+?{-+LrQyXJS!ABZxH2p&~?h-IsD|3%&ceEZ_b^MA4 zKx;~6jv7XwXItBcnm%#O+7nnfQ3R!s`v7%-XrTpU+RLcz)7rI$w(hmp(bSvZP68kt zu!aj?4u<}W1`dT458-^zATDAttj6a*Cxof5}RQE|$j!#ENar ztF%ASs&t+|$wY}qHNS06J+%7ts8Ca7f%beV05}!;#F{dJd`Bv_RjGP% z8%cZg-j*!A>Gc4gmDW=EQ`)btaX}IvZVpx&yKeYnnnD>LFhL?t{K+{4*J5FNOA90u z5agBn0h1Om!l3Vy9NzF5g1y&Ye_d+z807hT6#NMdpaRQyO+cYCJ1b2fKSvls!d&c} zyZ_*U`}OrTY5`r?3m6?;a1r+HUjQ`f8}GdR4q=7=H@kfl@M@hJ($b++dIy0iT>3GJ zspM_$2c-Nv$|>R)st_<~cLMEe4SUOk`B!THc+oE|R^fDyeTV~y5C|Hp+sA8vv>EU6 z2zuZY#9;>u!8M%+$ZoC+S*HQ>Mi=!d$>qvWwWrQ%y1i(j9U{t|URCx5G) z0D$y~>m>s~gf~BBOYNQoc;QW)HpmxE!O^og9V3T(4KW{Xi_>ekr3ED2Q8Mq!_<$S= zbMQ-$D8Ub5%Q6e6`z(_&Hy7Iw$l;H?j;}v+<{qA3xc~78P6oM&+C^;&?u9_8&9~p- z`vU_sXN_Iy{T%@1>9T0r?HE}i4?_!Bkhf_HZj>_%V4ZDal*bt+6C<7b3w!@IKHzif z^Y9^_M1jsBNmGs>lPUm)1wkOB3GkDy%f_Jcm*<0Avj=JVW7YyZk=$}Fg|I9bgO7gz zIzRd3lU7m1`x}*ozta)Wp;;G!H~&C@bnf(l=5Pq84YEUeSnhBRbEwmk6ZH07Vvan7 zsr67GxHJS>>+Kvsn$jLr|D!NCB`@Cp=9E+S<55`-0)R_EM{CrN7POU~IVFTh@vUbM zEz4;7OV|Hs{yp{eCz~s&CCW5_Y5$(q0NQ`2^HED0!|aGT&wff9=!FlVU|75m8v;|P z3IskL^qEfaFo2Er_eBjIfuA)0W*R_%Lmfcc+#~41eIy@Cmz`d6bLYfe?wz~;$piPn zH3L9g?XZ2=!fl@koVPXy!K5_}HP{PytxiY-(!e!mm3Vi z*p#kA7q#~1S&*)wFTos2zyT5d1{r_->tEwc5Wx>(`yJuQA>f4Ly@CQE2}Wq%TD%~U{|x^8ie>CrDqCV3;++I#%>j0ZiQRvPicfh$f0Fx z<#C9&N0OnHcdMPO4*ty(KpFXgvrTagOiFvnP z5hcvROQs7sFA0Jr*`}<`bLvoURqKJlCF*r*IY*fR?w<^RwS9a`R6@HuFE=>mR``=B zug>F1dF{>_K=5p-ZUF%4lcqQZei6{vF>t{XlAC!G=s{dGSSStnIHEkt4Oq8_8TDSqvawp+Iii>5ze;_Ax1`J*5CbB3vIx}t^5 zUHe+kYq0GE%4E{4&r)sh!~VyCOnUvwxPK>S81`k#hie0=ojBwX2!aWf&ox}Oly44Z z^bCi=IKD+YG#e#`sTnx|1c9%fHk22jPs{kh2Oq?uaqxq-fq>31hvB)tYj<{*Jg+Ix zvz{a8t|z>Gm(~XIIeF=I3({L+e}C#Xc6&~#-#KNqLihaaXFsbB!#Vl!gr}5s1O&SQ zaHL_EDtv3Ao0`uOmC9wCDo3k)I**<GnFvd@Iue5&$wVgP&BOXAgbB3?pGM zXiJ1=Flq+VeKNhc570CPM}2^AiU@!B2f|hO;obu@H13&7Alny)L25K$7$gJIZ z1O2+}_|ZF$Xlt`BuKU_zxADnuUJbp{?XRQTGY6BttB{gg$FRg3ebIWOg zAk;?*2IuCtBnXydsRCdRa9AB;$%5B9+(Kw8Kgnaid)hVYd@tq6Pxi{{|)#cTZ7zPijQMC}bU_w_LoF?Rqd zLn6}_)EPI>1x>x~D$7hZV5eg5;G z_aF!d!ox9H_ddGk7w^lfO9!T50_J8Pq0D`&M+bUrCO?MN1q6UXBOGXI2 zq8&z>{X@+n{7=eHYWesb31T5%IKvm30qO-zzNqy(7CCUuUu*qaa^3lD)dsfKv(Y+k zrPu0jwe4;e49?B(kRT`ka4PWW3R|+kQvr~mR;Dm>kMO(sa5~~ z%3&;tn0)be4E3Z8P0Q~A#zv}-7 z(71p9zWbM7{EK`4{rA0RCqN+NV;?WapenY3>L>Eep*_T!ghwh(YWI46eyc&uwV-k; zO2q>}bNCC#8panHJoar9OzQ1Ij@_Zn!uTSE<;VDTEBE;Eqo@T=9=0TNHuHorkykc! z8yQzmKARvDpG5}{`;*?!>_#OA7wV7J{FoH}aFiZs{I;Rocy=&3dz_wPI2ro1;E(Rp z^WG?=)LL?hHA1Hk^0nsbvEG%oXgw*e7^&kW%G&aK;4rvEe!Tui%4+q0`ppC2x4-@E z=JYty_)8bIly?u5JS|y9>TBr%eTXtcn!V7+%ifaZzn&&fT6k_Bt-$=aHfA296A`$X zH^fMbCM^RB`TjsMDU&u4_uR|yFtH3w8%TpB!e0Qu4E%&Qa30vXrrEP$Po4@=)eMHb z>w5z&2NCD4?i{-Zk1yQMFCZ*Ta$fPK-~kAP{tU-teesK5biezrf7gBWD_`~1`K$Ne zcmLl%|Fefch&y+Eb?qHQAZY->qJxF6_zIAv%jIF$(gI3{=jQOmoe6p9lIDZa(aGb9 zzn#j>_p_qo$1$3z#Iqtmmg-M4kAfwd4BuI zn}XlJPFg_7ySg7xH{Qy*?PlxuTz%pN3!j1Vq=3?@S1kd7c_%ZvZs?1lGm?SO+SfPc5gcGIbh8rt;fu=J`BOhOYj=Fo zj`=rdeAD>6y4tww>nn6V@*dmRcL?h6cZ5JP5%YY}t9)n1^J^K{$>dA2Sk50L2Zz1Z z+#-P#Um{bPP*d%jBWOKA{_WP*<^udp1(-vE;HLossV`A~nOct{>)Xh>)#^vRH6GsN9%Yl0RA7K1+)_3 z;b4p--jc^}fW3kyFhO5(5{V|@2!YAmOhKq|b#U&DH@+#rFLDIIp8!D%tm^UoN+w?G z_qsXQI6f}(1TJ|7%M@`10^Wl zs^^Qxk9PqAWt>X{IdBXj5KM6<`{XFAVUrBfB0%ui((+mPqXP$C;m;HB;eJ2VZkE6g zp5>aqsqk`02m~3I20@T_$#r092-NA7`d@Du=B}AM|6UM;XO@P+-tv;X2LZs|#_5?f zMhm3VT(V(DL8moY97?t+>CUa^(Yn$10|Z8}itD7@98Y@!(R9nTeOeo6YXTAa6a+E= zzNaCUY}6je8R^i6l&zJv-p|*% zzo)KC_w=Uye`cCMX_A%UTzF^~Lj%b70b1U|%u^V_FxY}Z$eB033Fh9oAu)dEyg)!j zU`XZkkj0%X*g3xlY_{pP1%&ZBXy#1k5%xPfWh65NH@$s|8flgfac&B zAFu&|e4m%E*7eGJ2gBH)MGE>KjC1%mF8BeQML*g*_s%DVe4LLWMEq-swPh)zlX*XyqRZnb@XBXhm18!7qH>)jN&de*k3A;M#=HDo@XKtISiwwe;lI zGlA6ZfqMKeN9l0)xF+*Acoilins!;tG&BoaK&Z5YYCj>R^~N{B+^hEj`Xwn7pKAdV z{INZN1qg(DOW|IMW?%1=v1@}L9W$o^(KVc75FePE0YXI!5Tv8(TAi~O?t1Uz`O!W>(gONx7Wm=sXd0JVZ3I6V@cH;S z1siS^Z^`RD^W?<^ddMOS%A?Xqy9_ePwB)|ZB(tn^4uB=Nvw!Da$$4OHNEb}Nr>EfQ zD?c@-hgV*C1-oVAG>$3oa!73;r9DNiQh%Z}ms+b!bvj4pRy*;swaPJ)R?irm!wE~k zV5z)M4FFpW&{L_s_dH9DsbyYTHcFq;?e*L}lpM7Q)EX53_2^pe2W0yIasA|)Kl9SB0)|C8_Xw6+NMRaQ zVPYPftld97zCbM?0h`;qW7rE;(F6viPUwzlq1Oh{tlyQuj$Ai-a6y-Wd@QhAqJ8zKEEa2#%)J>S#-} z$6OfH?dAcnuz{mhp6Az}*TC}{cwPg~Yv6eeJg /* causes errors to BCC 5.5 */ +#include +#include +#include + + +#ifdef _WIN32 +# include +# ifndef COMMON_LVB_GRID_HORIZONTAL +# define COMMON_LVB_GRID_HORIZONTAL 0x0400 +# endif +# ifndef COMMON_LVB_UNDERSCORE +# define COMMON_LVB_UNDERSCORE 0x8000 +# endif +#else +# include +# include +#endif + +#define MAX_BAR_LENGTH 256 +#define DEFAULT_CONSOLE_WIDTH 80 + +#define pbar_max(a,b) ((a)>(b) ? (a) : (b)) + +#define pbar_round(x) static_cast(x + 0.5) /* NOTE: x >= 0.0 */ +#define pbar_floor(x) static_cast(x) /* NOTE: x >= 0.0 */ + +#define MAXDIGITS(x) ((int)((sizeof(x)*CHAR_BIT*1233UL)>>12)+1) /* NOTE: 680 >= sizeof(x)*CHAR_BIT */ +#define MAXDIGITS_ULONG MAXDIGITS(unsigned long) + + +class ProgressBar { + private: + double percent; + double step; + double tick; + double checkpoint; + unsigned long total; + unsigned long state; + int consolewidth; + char charBarOn; + char charBarOff; + char charBarArrow; + char charBracketLeft; + char charBracketRight; + std::string bartitle; + std::string strtotal; + bool unknown_console; + bool num_style_is_percent; +#ifdef _WIN32 + CONSOLE_CURSOR_INFO cursor_info; + HANDLE hStdoutHandle; + DWORD consoleattribute; +#endif + + + private: + +#ifdef _WIN32 + inline void invert_attribute(void) { + SetConsoleTextAttribute(hStdoutHandle, + // COMMON_LVB_UNDERSCORE | + COMMON_LVB_GRID_HORIZONTAL | + ((consoleattribute>>4) & 0x0fU) | + ((consoleattribute<<4) & 0xf0U)); + }; + + inline void restore_attribute(void) { + SetConsoleTextAttribute(hStdoutHandle, consoleattribute); + }; + + int get_consolewidth(void) { + BOOL bRet; + CONSOLE_SCREEN_BUFFER_INFO info; + bRet = GetConsoleScreenBufferInfo( + hStdoutHandle, + &info); + if (bRet) { + return (1 + info.srWindow.Right); + } + return DEFAULT_CONSOLE_WIDTH; + }; +#else + int get_consolewidth(void) { + struct winsize ws; + if( ioctl( STDERR_FILENO, TIOCGWINSZ, &ws ) != -1 ) { + if( 0 < ws.ws_col && ws.ws_col == (size_t)ws.ws_col ) { + return ws.ws_col; + } + } + return DEFAULT_CONSOLE_WIDTH; + }; +#endif + + void redraw(void) { + int bar_len; + double f; + char *ptr; + int i; + int count; + char buf[MAX_BAR_LENGTH + 1]; /* bar length + NUL('\0') */ + char str[1 + MAXDIGITS_ULONG + 1]; /* sign + digits + NUL */ + char fmt[1 + MAXDIGITS_ULONG + 1]; + + /* calculate bar length */ + bar_len = consolewidth - bartitle.size(); + if (num_style_is_percent) { + bar_len -= 8; + } else { + bar_len -= (5 + 2*strtotal.size()); + } + + if (bar_len < 1) { + bar_len = 1; + } else if (bar_len > MAX_BAR_LENGTH) { + bar_len = MAX_BAR_LENGTH; + } + + /* print progress bar */ + f = percent * 0.01 * static_cast(bar_len); + count = pbar_round(f); + fprintf(stderr, "\r%s%c", bartitle.c_str(), charBracketLeft); + + ptr = buf; + if (unknown_console) { + for (i=0; i(strtotal.size())); + sprintf(str, fmt, state); + fprintf(stderr, "%s%c %s/%s", buf, charBracketRight, str, strtotal.c_str()); + } + }; + + void init_(void) { +#ifdef _WIN32 + CONSOLE_SCREEN_BUFFER_INFO info; + hStdoutHandle = GetStdHandle(STD_ERROR_HANDLE); + if (GetConsoleScreenBufferInfo(hStdoutHandle, &info)) { + consoleattribute = info.wAttributes; + GetConsoleCursorInfo(hStdoutHandle, &cursor_info); + unknown_console = false; + } else { + unknown_console = true; + } +#else + struct winsize ws; + unknown_console = true; + if( ioctl( STDERR_FILENO, TIOCGWINSZ, &ws ) != -1 ) { + if( 0 < ws.ws_col && ws.ws_col == (size_t)ws.ws_col ) { + unknown_console = false; + } + } +#endif + }; + + + public: + ProgressBar(unsigned long t=1) { + init_(); + set_total(t); + set_barstyle(); + set_width(); + set_title(""); + set_bracketstyle(); + use_percentstyle(); + }; + + ProgressBar(unsigned long t, std::string str, char fgch='\0', char arrch='.', char bgch='.', int wid=-1) { + init_(); + set_total(t); + set_barstyle(fgch, arrch, bgch); + set_width(wid); + set_title(str); + set_bracketstyle(); + use_percentstyle(); + }; + + void set_barstyle(char fg='\0', char arrw='.', char bg='.') { + charBarOn = fg; + charBarArrow = arrw; + charBarOff = bg; + }; + + void set_total(unsigned long t) { + char str[1 + MAXDIGITS_ULONG + 1]; + + total = pbar_max(t, 1); + sprintf(str, "%lu", total); + strtotal = str; + step = 100.0/static_cast(total); + tick = pbar_max(1.0, step); + checkpoint = tick; + percent = 0.0; + }; + + void set_width(int width = -1) { + if (width > 0) { + consolewidth = width; + } else { + consolewidth = get_consolewidth(); + } + }; + + void set_title(std::string str) { + bartitle = str; + }; + + void set_bracketstyle(char lbra='|', char rbra='|') { + charBracketLeft = lbra; + charBracketRight = rbra; + }; + + void use_percentstyle(void) { + num_style_is_percent = true; + }; + + void use_ratiostyle(void) { + num_style_is_percent = false; + }; + + void reset(void) { + percent = 0.0; + state = 0; + checkpoint = tick; + }; + + void start(void) { + reset(); + set_cursor_visible(false); + redraw(); + }; + + void set_cursor_visible(bool onoff) { +#ifdef _WIN32 + cursor_info.bVisible = onoff; + SetConsoleCursorInfo(hStdoutHandle, &cursor_info); +#else + if (onoff) { + fprintf(stderr, "\e[?25h"); + } else { + fprintf(stderr, "\e[?25l"); + } +#endif + }; + + void update(void) { + if (state >= total) return; + + ++state; + percent += step; + if (state >= total) { + percent = 100.03125; + redraw(); + fprintf(stderr, "\n"); + set_cursor_visible(true); + fflush(stderr); + } else if (percent >= checkpoint) { + redraw(); + checkpoint = percent + tick; + } + }; + + inline void operator ++() { + update(); + }; + + inline void operator ++(int n) { + update(); + }; + +}; + +#endif /* PROGRESSBAR_HPP__ */ \ No newline at end of file diff --git a/tests/catch.hpp b/raytracing/include/external/catch.hpp similarity index 100% rename from tests/catch.hpp rename to raytracing/include/external/catch.hpp diff --git a/raytracing/src/renderer/camera.cpp b/raytracing/src/renderer/camera.cpp index 7015db4..074dc85 100644 --- a/raytracing/src/renderer/camera.cpp +++ b/raytracing/src/renderer/camera.cpp @@ -31,6 +31,8 @@ #include #include +#include + #include "camera.h" using namespace Raytracer; @@ -43,7 +45,8 @@ Camera::Camera(void) : m_field_of_view(0), m_half_width(0), m_half_height(0), - m_pixel_size(0) + m_pixel_size(0), + m_show_progress_bar(false) { } @@ -56,7 +59,8 @@ Camera::Camera(uint16_t a_h_size, uint16_t a_v_size, double a_field_of_view) : m_transform(Matrix::identity()), m_half_width(0), m_half_height(0), - m_pixel_size(0) + m_pixel_size(0), + m_show_progress_bar(false) { double the_half_view = tan(m_field_of_view / 2); @@ -87,6 +91,7 @@ Camera::Camera(const Camera &an_other) m_half_width = an_other.m_half_width; m_half_height = an_other.m_half_height; m_pixel_size = an_other.m_pixel_size; + m_show_progress_bar = an_other.m_show_progress_bar; } /* ------------------------------------------------------------------------- */ @@ -105,6 +110,7 @@ const Camera &Camera::operator=(const Camera &an_other) m_half_width = an_other.m_half_width; m_half_height = an_other.m_half_height; m_pixel_size = an_other.m_pixel_size; + m_show_progress_bar = an_other.m_show_progress_bar; return *this; } @@ -183,19 +189,42 @@ Ray Camera::ray_for_pixel(double an_x, double an_y) const Canvas Camera::render(const World &a_world) { + int8_t the_percent = -1; + uint32_t the_cpt = 0; + uint32_t the_loop_size = m_h_size * m_v_size; Canvas the_image(m_h_size, m_v_size); + ProgressBar the_progress_bar(100, "[=>]"); -#pragma omp parallel for num_threads(8) shared(the_image) for (int y = 0; y < m_v_size - 1; y++) { +#pragma omp parallel for shared(the_image) for (int x = 0; x < m_h_size - 1; x++) { // printf("ray_for_pixel (process: %d)\n", omp_get_thread_num()); Ray the_ray = ray_for_pixel(x, y); Color the_color = a_world.color_at(the_ray); the_image.write_pixel(x, y, the_color); + if (m_show_progress_bar == true) + { + double the_temp_perc; + the_cpt++; + the_temp_perc = the_cpt * 100 / the_loop_size; + if (the_percent != (int8_t)the_temp_perc) + { + the_percent = (int8_t)the_temp_perc; + // printf("percent: %d\n", the_percent); + the_progress_bar.update(); + } + } } } return the_image; } + +/* ------------------------------------------------------------------------- */ + +void Camera::show_progress_bar(void) +{ + m_show_progress_bar = true; +} diff --git a/raytracing/src/renderer/camera.h b/raytracing/src/renderer/camera.h index 5d04bb7..2e12a46 100644 --- a/raytracing/src/renderer/camera.h +++ b/raytracing/src/renderer/camera.h @@ -61,6 +61,8 @@ namespace Raytracer Canvas render(const World &a_world); + void show_progress_bar(void); + private: uint16_t m_h_size; @@ -70,6 +72,7 @@ namespace Raytracer double m_half_width; double m_half_height; double m_pixel_size; + bool m_show_progress_bar; }; }; // namespace Raytracer diff --git a/tests/01_tuples.cpp b/tests/01_tuples.cpp index 435f6c9..5f116b9 100644 --- a/tests/01_tuples.cpp +++ b/tests/01_tuples.cpp @@ -27,7 +27,7 @@ #include -#include +#include #include "core/tuple.h" diff --git a/tests/02_1_colors.cpp b/tests/02_1_colors.cpp index 25a2242..15cae5b 100644 --- a/tests/02_1_colors.cpp +++ b/tests/02_1_colors.cpp @@ -25,7 +25,7 @@ /*---------------------------------------------------------------------------*/ -#include +#include #include "core/color.h" diff --git a/tests/02_2_canvas.cpp b/tests/02_2_canvas.cpp index 1ab246a..5eae9e0 100644 --- a/tests/02_2_canvas.cpp +++ b/tests/02_2_canvas.cpp @@ -25,7 +25,7 @@ /*---------------------------------------------------------------------------*/ -#include +#include #include "renderer/canvas.h" diff --git a/tests/03_matrix.cpp b/tests/03_matrix.cpp index 528e31b..1107d37 100644 --- a/tests/03_matrix.cpp +++ b/tests/03_matrix.cpp @@ -25,7 +25,7 @@ /*---------------------------------------------------------------------------*/ -#include +#include #include "raytracing.h" diff --git a/tests/04_transformations.cpp b/tests/04_transformations.cpp index 5454b7c..14c9708 100644 --- a/tests/04_transformations.cpp +++ b/tests/04_transformations.cpp @@ -25,7 +25,7 @@ /*---------------------------------------------------------------------------*/ -#include +#include #include "raytracing.h" diff --git a/tests/05_rays.cpp b/tests/05_rays.cpp index 4f041ab..a76fd4c 100644 --- a/tests/05_rays.cpp +++ b/tests/05_rays.cpp @@ -25,7 +25,7 @@ /*---------------------------------------------------------------------------*/ -#include +#include #include "raytracing.h" diff --git a/tests/06_light_shading.cpp b/tests/06_light_shading.cpp index cecb865..d959a74 100644 --- a/tests/06_light_shading.cpp +++ b/tests/06_light_shading.cpp @@ -25,7 +25,7 @@ /*---------------------------------------------------------------------------*/ -#include +#include #include "raytracing.h" diff --git a/tests/07_making_scene.cpp b/tests/07_making_scene.cpp index 155883a..0d710db 100644 --- a/tests/07_making_scene.cpp +++ b/tests/07_making_scene.cpp @@ -25,7 +25,7 @@ /*---------------------------------------------------------------------------*/ -#include +#include #include "raytracing.h" diff --git a/tests/08_shadows.cpp b/tests/08_shadows.cpp index 92fe27b..1f3cd28 100644 --- a/tests/08_shadows.cpp +++ b/tests/08_shadows.cpp @@ -25,7 +25,7 @@ /*---------------------------------------------------------------------------*/ -#include +#include #include "raytracing.h" diff --git a/tests/09_planes.cpp b/tests/09_planes.cpp index 544c079..f9ab71c 100644 --- a/tests/09_planes.cpp +++ b/tests/09_planes.cpp @@ -25,7 +25,7 @@ /*---------------------------------------------------------------------------*/ -#include +#include #include "raytracing.h" diff --git a/tests/10_patterns.cpp b/tests/10_patterns.cpp index a229c0b..ec5eb6f 100644 --- a/tests/10_patterns.cpp +++ b/tests/10_patterns.cpp @@ -25,7 +25,7 @@ /*---------------------------------------------------------------------------*/ -#include +#include #include "raytracing.h" diff --git a/tests/11_reflection_refraction.cpp b/tests/11_reflection_refraction.cpp index 8c01da5..fc1494e 100644 --- a/tests/11_reflection_refraction.cpp +++ b/tests/11_reflection_refraction.cpp @@ -25,7 +25,7 @@ /*---------------------------------------------------------------------------*/ -#include +#include #include "raytracing.h" diff --git a/tests/main_test.cpp b/tests/main_test.cpp index 19fa948..302fcff 100644 --- a/tests/main_test.cpp +++ b/tests/main_test.cpp @@ -26,4 +26,4 @@ #define CATCH_INTERNAL_CONFIG_NO_CPP17_UNCAUGHT_EXCEPTIONS #define CATCH_CONFIG_NO_CPP17_UNCAUGHT_EXCEPTIONS #define CATCH_CONFIG_MAIN -#include "catch.hpp" +#include "external/catch.hpp"