From 37c5cf8f2fd10d223a5a6125ffc4ef582a48a062 Mon Sep 17 00:00:00 2001
From: DBA_3 <yacine.acheroufkebir@gmail.com>
Date: Sun, 12 Jan 2020 20:48:40 +0100
Subject: [PATCH] less errors but still some

---
 basic_ray_tracing.png     |  Bin 0 -> 260 bytes
 main                      |  Bin 0 -> 48720 bytes
 main.cpp                  |    6 +-
 ray_tracing_reflexion.png |  Bin 0 -> 278 bytes
 ray_tracing_shading.png   |  Bin 0 -> 328 bytes
 scene.cpp                 |    2 +-
 valgrind-out.txt          | 1281 +++++--------------------------------
 7 files changed, 152 insertions(+), 1137 deletions(-)
 create mode 100644 basic_ray_tracing.png
 create mode 100755 main
 create mode 100644 ray_tracing_reflexion.png
 create mode 100644 ray_tracing_shading.png

diff --git a/basic_ray_tracing.png b/basic_ray_tracing.png
new file mode 100644
index 0000000000000000000000000000000000000000..dde5f6b00b2ddcef22eb30219f798342d5cbb0f6
GIT binary patch
literal 260
zcmeAS@N?(olHy`uVBq!ia0y~yU;weXIG7k17?=VgUNJB*oc45a43U^xdTPIyQzAqA
z!{^pBFDdQdc(_2|Qmx6;xh-3^xt2(-<I8)r;K37J3yT&PHmel{=a!UAFxqmkOQUM~
zefhZ9yMOI(yjT9>bY7mRgYWTl!F^s|YE?ZIR6IHC_nc7_6Fa;x=w!{go0GFdFPU^5
z-B^)Q5_$Rk>Z=kwKFiaLCwr!4&GL%=8Mf(KUF-3xzk6<mXxw;f<b8VT)n8?I&lUR|
zzAO58V^W}Ac}Up1JLM^yZz{eQJlyi}PteL6dCk&(CnhQWGTE~+vG_0Jxt4^jGvvfH
R7#J8BJYD@<);T3K0RZqPb3_0D

literal 0
HcmV?d00001

diff --git a/main b/main
new file mode 100755
index 0000000000000000000000000000000000000000..9dd5ac4f86f49addc6bb02c44f536c57346c3c29
GIT binary patch
literal 48720
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
ZWe`M4J1{X2owpT4GBC)ZX+YyL003CjB+mc<

literal 0
HcmV?d00001

diff --git a/main.cpp b/main.cpp
index 85b9021..7e19a07 100644
--- a/main.cpp
+++ b/main.cpp
@@ -56,13 +56,13 @@ int main()
 		std::string filename2 = "ray_tracing_reflexion.png";
 		std::string filename3 = "ray_tracing_shading.png";
 		scene.render(width, height, 1080, 1080, nb_shapes, (char *) filename.c_str(),2,false);
-		scene.render(width, height, 1080, 1080, nb_shapes, (char *) filename2.c_str(),6,false);
-		scene.render(width, height, 1080, 1080, nb_shapes, (char *) filename3.c_str(),4,true);
+		scene.render(width, height, 1080, 1080, nb_shapes, (char *) filename2.c_str(),5,false);
+		scene.render(width, height, 1080, 1080, nb_shapes, (char *) filename3.c_str(),5,true);
 		std::cout << "Image sauvegardée" << std::endl;
 
 		//----------LIBERATION DE LA MEMOIRE----------
 		for (int i=0; i<nb_shapes; i++)
-			delete [] shapes[i];
+			delete shapes[i];
 
 
 	}
diff --git a/ray_tracing_reflexion.png b/ray_tracing_reflexion.png
new file mode 100644
index 0000000000000000000000000000000000000000..2d1af87554e2c839d11c427723953562a7e9c198
GIT binary patch
literal 278
zcmeAS@N?(olHy`uVBq!ia0y~yU;weXIG7k17?=VgUNJB*-1T&E43U^xddfbZv5=wt
z<MZ<UpYsj9jyPO0kb2``^>xxd5$)j1Gk!50xo}mF?O=-H%NuI4QcG2M+#j7NR9qBZ
z9(!S-&Ck61{H3qnO)ZF>Q~i9=gPQ;1bCx+UOU>kIQ*@AM6Zo@qmRgX}4WH@jU6fu}
z-Ki1mXU^H)_17rA^!ePYzvsHGZe8ZM`)tLTltTp?e><N%5308cx%cgNkkqCx+-Hll
zT2m8ez4AGCZOvNt)lw|{H*A>p$}JSIo8P0iXloL$K1acW_WtNY=NJ3xwB>St5@66@
ju|S6P{)Xn*cj7`%X7*`cOx9*#U|{fc^>bP0l+XkKQbl$;

literal 0
HcmV?d00001

diff --git a/ray_tracing_shading.png b/ray_tracing_shading.png
new file mode 100644
index 0000000000000000000000000000000000000000..d98f054da6e0c92868dbc18bb46c1a84a097d492
GIT binary patch
literal 328
zcmeAS@N?(olHy`uVBq!ia0y~yU;weXIG7k17?=VgUNJB*@_V{ChDc1!J#FaCRLJ1)
zvAn$g%5KM(9nw<WF6|CdvzoTey7fu<%9Cqi9lL(YE;_n!<<XT3SGcNh98%b&vxV=`
zx*ggdH@trLVTo$S%eD6Nt}HTL!TV#q+fE(vPpv_VSvVA5ecdJS=(?8ZB$roDtgWhk
zZ<M`uX#e`CquUB)5_RsKIl1%do1DbufjUXE*6a}9p|@CYa%V-=cT?3}U+4dx9wByE
z(WiQamSe+n&FK8owZAv7zLPtDj~w?b-wP&}GHv*e2QE^5ocd&r@A~zVp414Ny^yn$
zd1<xpe1%TTQC^Nk%`fWYj084uM~Ll|Svh6W-xITbt4U5s<T89`bu9D8(p5(`9+Asf
m;KY?O!;$B{fJ6RU_RWpC?a2i$`xzJ*7(8A5T-G@yGywpUhm!^X

literal 0
HcmV?d00001

diff --git a/scene.cpp b/scene.cpp
index b83c6a0..7b0c39f 100644
--- a/scene.cpp
+++ b/scene.cpp
@@ -186,7 +186,7 @@ void Scene::render(int width, int height, int nb_pixel_row, int nb_pixel_col, in
 			}
 
 			for (int r=0; r<ref_max;r++)
-				delete[] ray[r];	
+				delete ray[r];	
 		}
 
 
diff --git a/valgrind-out.txt b/valgrind-out.txt
index 861bae5..99c32f2 100644
--- a/valgrind-out.txt
+++ b/valgrind-out.txt
@@ -1,1133 +1,148 @@
-<<<<<<< HEAD
-==15780== Memcheck, a memory error detector
-==15780== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
-==15780== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info
-==15780== Command: ./main
-==15780== Parent PID: 12751
-==15780== 
---15780-- 
---15780-- Valgrind options:
---15780--    --leak-check=full
---15780--    --show-leak-kinds=all
---15780--    --track-origins=yes
---15780--    --verbose
---15780--    --log-file=valgrind-out.txt
---15780-- Contents of /proc/version:
---15780--   Linux version 4.15.0-48-generic (buildd@lgw01-amd64-036) (gcc version 7.3.0 (Ubuntu 7.3.0-16ubuntu3)) #51-Ubuntu SMP Wed Apr 3 08:28:49 UTC 2019
---15780-- 
---15780-- Arch and hwcaps: AMD64, LittleEndian, amd64-cx16-lzcnt-rdtscp-sse3-avx-avx2-bmi
---15780-- Page sizes: currently 4096, max supported 4096
---15780-- Valgrind library directory: /usr/lib/valgrind
---15780-- Reading syms from /home/acheroufkebir/PAP/pap_ray_tracing_final/main
---15780-- Reading syms from /lib/x86_64-linux-gnu/ld-2.27.so
---15780--   Considering /lib/x86_64-linux-gnu/ld-2.27.so ..
---15780--   .. CRC mismatch (computed 1b7c895e wanted 2943108a)
---15780--   Considering /usr/lib/debug/lib/x86_64-linux-gnu/ld-2.27.so ..
---15780--   .. CRC is valid
---15780-- Reading syms from /usr/lib/valgrind/memcheck-amd64-linux
---15780--   Considering /usr/lib/valgrind/memcheck-amd64-linux ..
---15780--   .. CRC mismatch (computed 41ddb025 wanted 9972f546)
---15780--    object doesn't have a symbol table
---15780--    object doesn't have a dynamic symbol table
---15780-- Scheduler: using generic scheduler lock implementation.
---15780-- Reading suppressions file: /usr/lib/valgrind/default.supp
-==15780== embedded gdbserver: reading from /tmp/vgdb-pipe-from-vgdb-to-15780-by-acheroufkebir-on-???
-==15780== embedded gdbserver: writing to   /tmp/vgdb-pipe-to-vgdb-from-15780-by-acheroufkebir-on-???
-==15780== embedded gdbserver: shared mem   /tmp/vgdb-pipe-shared-mem-vgdb-15780-by-acheroufkebir-on-???
-==15780== 
-==15780== TO CONTROL THIS PROCESS USING vgdb (which you probably
-==15780== don't want to do, unless you know exactly what you're doing,
-==15780== or are doing some strange experiment):
-==15780==   /usr/lib/valgrind/../../bin/vgdb --pid=15780 ...command...
-==15780== 
-==15780== TO DEBUG THIS PROCESS USING GDB: start GDB like this
-==15780==   /path/to/gdb ./main
-==15780== and then give GDB the following command
-==15780==   target remote | /usr/lib/valgrind/../../bin/vgdb --pid=15780
-==15780== --pid is optional if only one valgrind process is running
-==15780== 
---15780-- REDIR: 0x401f2f0 (ld-linux-x86-64.so.2:strlen) redirected to 0x580608c1 (???)
---15780-- REDIR: 0x401f0d0 (ld-linux-x86-64.so.2:index) redirected to 0x580608db (???)
---15780-- Reading syms from /usr/lib/valgrind/vgpreload_core-amd64-linux.so
---15780--   Considering /usr/lib/valgrind/vgpreload_core-amd64-linux.so ..
---15780--   .. CRC mismatch (computed 50df1b30 wanted 4800a4cf)
---15780--    object doesn't have a symbol table
---15780-- Reading syms from /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so
---15780--   Considering /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so ..
---15780--   .. CRC mismatch (computed f893b962 wanted 95ee359e)
---15780--    object doesn't have a symbol table
-==15780== WARNING: new redirection conflicts with existing -- ignoring it
---15780--     old: 0x0401f2f0 (strlen              ) R-> (0000.0) 0x580608c1 ???
---15780--     new: 0x0401f2f0 (strlen              ) R-> (2007.0) 0x04c32db0 strlen
---15780-- REDIR: 0x401d360 (ld-linux-x86-64.so.2:strcmp) redirected to 0x4c33ee0 (strcmp)
---15780-- REDIR: 0x401f830 (ld-linux-x86-64.so.2:mempcpy) redirected to 0x4c374f0 (mempcpy)
---15780-- Reading syms from /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0
---15780--    object doesn't have a symbol table
---15780-- Reading syms from /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25
---15780--    object doesn't have a symbol table
---15780-- Reading syms from /lib/x86_64-linux-gnu/libm-2.27.so
---15780--   Considering /lib/x86_64-linux-gnu/libm-2.27.so ..
---15780--   .. CRC mismatch (computed 7feae033 wanted b29b2508)
---15780--   Considering /usr/lib/debug/lib/x86_64-linux-gnu/libm-2.27.so ..
---15780--   .. CRC is valid
---15780-- Reading syms from /lib/x86_64-linux-gnu/libgcc_s.so.1
---15780--    object doesn't have a symbol table
---15780-- Reading syms from /lib/x86_64-linux-gnu/libc-2.27.so
---15780--   Considering /lib/x86_64-linux-gnu/libc-2.27.so ..
---15780--   .. CRC mismatch (computed b1c74187 wanted 042cc048)
---15780--   Considering /usr/lib/debug/lib/x86_64-linux-gnu/libc-2.27.so ..
---15780--   .. CRC is valid
---15780-- Reading syms from /lib/x86_64-linux-gnu/libz.so.1.2.11
---15780--    object doesn't have a symbol table
---15780-- REDIR: 0x5a4bc70 (libc.so.6:memmove) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---15780-- REDIR: 0x5a4ad40 (libc.so.6:strncpy) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---15780-- REDIR: 0x5a4bf50 (libc.so.6:strcasecmp) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---15780-- REDIR: 0x5a4a790 (libc.so.6:strcat) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---15780-- REDIR: 0x5a4ad70 (libc.so.6:rindex) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---15780-- REDIR: 0x5a4d7c0 (libc.so.6:rawmemchr) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---15780-- REDIR: 0x5a4bde0 (libc.so.6:mempcpy) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---15780-- REDIR: 0x5a4bc10 (libc.so.6:bcmp) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---15780-- REDIR: 0x5a4ad00 (libc.so.6:strncmp) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---15780-- REDIR: 0x5a4a800 (libc.so.6:strcmp) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---15780-- REDIR: 0x5a4bd40 (libc.so.6:memset) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---15780-- REDIR: 0x5a690f0 (libc.so.6:wcschr) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---15780-- REDIR: 0x5a4aca0 (libc.so.6:strnlen) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---15780-- REDIR: 0x5a4a870 (libc.so.6:strcspn) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---15780-- REDIR: 0x5a4bfa0 (libc.so.6:strncasecmp) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---15780-- REDIR: 0x5a4a840 (libc.so.6:strcpy) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---15780-- REDIR: 0x5a4c0e0 (libc.so.6:memcpy@@GLIBC_2.14) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---15780-- REDIR: 0x5a4ada0 (libc.so.6:strpbrk) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---15780-- REDIR: 0x5a4a7c0 (libc.so.6:index) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---15780-- REDIR: 0x5a4ac70 (libc.so.6:strlen) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---15780-- REDIR: 0x5a556c0 (libc.so.6:memrchr) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---15780-- REDIR: 0x5a4bff0 (libc.so.6:strcasecmp_l) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---15780-- REDIR: 0x5a4bbe0 (libc.so.6:memchr) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---15780-- REDIR: 0x5a69eb0 (libc.so.6:wcslen) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---15780-- REDIR: 0x5a4b050 (libc.so.6:strspn) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---15780-- REDIR: 0x5a4bf20 (libc.so.6:stpncpy) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---15780-- REDIR: 0x5a4bef0 (libc.so.6:stpcpy) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---15780-- REDIR: 0x5a4d7f0 (libc.so.6:strchrnul) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---15780-- REDIR: 0x5a4c040 (libc.so.6:strncasecmp_l) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---15780-- REDIR: 0x5ade8a0 (libc.so.6:__memcpy_chk) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---15780-- REDIR: 0x5b3b3c0 (libc.so.6:__strrchr_avx2) redirected to 0x4c32730 (rindex)
---15780-- REDIR: 0x5a44070 (libc.so.6:malloc) redirected to 0x4c2faa0 (malloc)
---15780-- REDIR: 0x5b3b590 (libc.so.6:__strlen_avx2) redirected to 0x4c32cf0 (strlen)
---15780-- REDIR: 0x5b37ba0 (libc.so.6:__memcmp_avx2_movbe) redirected to 0x4c35e00 (bcmp)
---15780-- REDIR: 0x5b16d60 (libc.so.6:__strcmp_ssse3) redirected to 0x4c33da0 (strcmp)
---15780-- REDIR: 0x5101190 (libstdc++.so.6:operator new(unsigned long)) redirected to 0x4c30110 (operator new(unsigned long))
---15780-- REDIR: 0x5b3bad0 (libc.so.6:__memcpy_avx_unaligned_erms) redirected to 0x4c366e0 (memmove)
---15780-- REDIR: 0x5a4b590 (libc.so.6:__GI_strstr) redirected to 0x4c37760 (__strstr_sse2)
---15780-- REDIR: 0x5b3bab0 (libc.so.6:__mempcpy_avx_unaligned_erms) redirected to 0x4c37130 (mempcpy)
---15780-- REDIR: 0x50ff310 (libstdc++.so.6:operator delete[](void*)) redirected to 0x4c316d0 (operator delete[](void*))
-==15780== Mismatched free() / delete / delete []
-==15780==    at 0x4C3173B: operator delete[](void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==15780==    by 0x10E23D: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==15780==    by 0x10F3B5: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==15780==  Address 0x5fcef50 is 0 bytes inside a block of size 24 alloc'd
-==15780==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==15780==    by 0x10D102: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==15780==    by 0x10F3B5: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==15780== 
---15780-- REDIR: 0x5b3bf50 (libc.so.6:__memset_avx2_unaligned_erms) redirected to 0x4c365d0 (memset)
---15780-- REDIR: 0x5a44950 (libc.so.6:free) redirected to 0x4c30cd0 (free)
-==15780== Mismatched free() / delete / delete []
-==15780==    at 0x4C3173B: operator delete[](void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==15780==    by 0x10F42E: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==15780==  Address 0x5fccc80 is 0 bytes inside a block of size 48 alloc'd
-==15780==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==15780==    by 0x10EC9A: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==15780== 
---15780-- REDIR: 0x50ff2e0 (libstdc++.so.6:operator delete(void*)) redirected to 0x4c311d0 (operator delete(void*))
-==15780== 
-==15780== HEAP SUMMARY:
-==15780==     in use at exit: 0 bytes in 0 blocks
-==15780==   total heap usage: 228 allocs, 228 frees, 234,706 bytes allocated
-==15780== 
-==15780== All heap blocks were freed -- no leaks are possible
-==15780== 
-==15780== ERROR SUMMARY: 208 errors from 2 contexts (suppressed: 0 from 0)
-==15780== 
-==15780== 8 errors in context 1 of 2:
-==15780== Mismatched free() / delete / delete []
-==15780==    at 0x4C3173B: operator delete[](void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==15780==    by 0x10F42E: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==15780==  Address 0x5fccc80 is 0 bytes inside a block of size 48 alloc'd
-==15780==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==15780==    by 0x10EC9A: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==15780== 
-==15780== 
-==15780== 200 errors in context 2 of 2:
-==15780== Mismatched free() / delete / delete []
-==15780==    at 0x4C3173B: operator delete[](void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==15780==    by 0x10E23D: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==15780==    by 0x10F3B5: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==15780==  Address 0x5fcef50 is 0 bytes inside a block of size 24 alloc'd
-==15780==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==15780==    by 0x10D102: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==15780==    by 0x10F3B5: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==15780== 
-==15780== ERROR SUMMARY: 208 errors from 2 contexts (suppressed: 0 from 0)
-=======
-<<<<<<< HEAD
-==13027== Memcheck, a memory error detector
-==13027== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
-==13027== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info
-==13027== Command: ./main
-==13027== Parent PID: 12751
-==13027== 
---13027-- 
---13027-- Valgrind options:
---13027--    --leak-check=full
---13027--    --show-leak-kinds=all
---13027--    --track-origins=yes
---13027--    --verbose
---13027--    --log-file=valgrind-out.txt
---13027-- Contents of /proc/version:
---13027--   Linux version 4.15.0-48-generic (buildd@lgw01-amd64-036) (gcc version 7.3.0 (Ubuntu 7.3.0-16ubuntu3)) #51-Ubuntu SMP Wed Apr 3 08:28:49 UTC 2019
---13027-- 
---13027-- Arch and hwcaps: AMD64, LittleEndian, amd64-cx16-lzcnt-rdtscp-sse3-avx-avx2-bmi
---13027-- Page sizes: currently 4096, max supported 4096
---13027-- Valgrind library directory: /usr/lib/valgrind
---13027-- Reading syms from /home/acheroufkebir/PAP/pap_ray_tracing_final/main
---13027-- Reading syms from /lib/x86_64-linux-gnu/ld-2.27.so
---13027--   Considering /lib/x86_64-linux-gnu/ld-2.27.so ..
---13027--   .. CRC mismatch (computed 1b7c895e wanted 2943108a)
---13027--   Considering /usr/lib/debug/lib/x86_64-linux-gnu/ld-2.27.so ..
---13027--   .. CRC is valid
---13027-- Reading syms from /usr/lib/valgrind/memcheck-amd64-linux
---13027--   Considering /usr/lib/valgrind/memcheck-amd64-linux ..
---13027--   .. CRC mismatch (computed 41ddb025 wanted 9972f546)
---13027--    object doesn't have a symbol table
---13027--    object doesn't have a dynamic symbol table
---13027-- Scheduler: using generic scheduler lock implementation.
---13027-- Reading suppressions file: /usr/lib/valgrind/default.supp
-==13027== embedded gdbserver: reading from /tmp/vgdb-pipe-from-vgdb-to-13027-by-acheroufkebir-on-???
-==13027== embedded gdbserver: writing to   /tmp/vgdb-pipe-to-vgdb-from-13027-by-acheroufkebir-on-???
-==13027== embedded gdbserver: shared mem   /tmp/vgdb-pipe-shared-mem-vgdb-13027-by-acheroufkebir-on-???
-==13027== 
-==13027== TO CONTROL THIS PROCESS USING vgdb (which you probably
-==13027== don't want to do, unless you know exactly what you're doing,
-==13027== or are doing some strange experiment):
-==13027==   /usr/lib/valgrind/../../bin/vgdb --pid=13027 ...command...
-==13027== 
-==13027== TO DEBUG THIS PROCESS USING GDB: start GDB like this
-==13027==   /path/to/gdb ./main
-==13027== and then give GDB the following command
-==13027==   target remote | /usr/lib/valgrind/../../bin/vgdb --pid=13027
-==13027== --pid is optional if only one valgrind process is running
-==13027== 
---13027-- REDIR: 0x401f2f0 (ld-linux-x86-64.so.2:strlen) redirected to 0x580608c1 (???)
---13027-- REDIR: 0x401f0d0 (ld-linux-x86-64.so.2:index) redirected to 0x580608db (???)
---13027-- Reading syms from /usr/lib/valgrind/vgpreload_core-amd64-linux.so
---13027--   Considering /usr/lib/valgrind/vgpreload_core-amd64-linux.so ..
---13027--   .. CRC mismatch (computed 50df1b30 wanted 4800a4cf)
---13027--    object doesn't have a symbol table
---13027-- Reading syms from /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so
---13027--   Considering /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so ..
---13027--   .. CRC mismatch (computed f893b962 wanted 95ee359e)
---13027--    object doesn't have a symbol table
-==13027== WARNING: new redirection conflicts with existing -- ignoring it
---13027--     old: 0x0401f2f0 (strlen              ) R-> (0000.0) 0x580608c1 ???
---13027--     new: 0x0401f2f0 (strlen              ) R-> (2007.0) 0x04c32db0 strlen
---13027-- REDIR: 0x401d360 (ld-linux-x86-64.so.2:strcmp) redirected to 0x4c33ee0 (strcmp)
---13027-- REDIR: 0x401f830 (ld-linux-x86-64.so.2:mempcpy) redirected to 0x4c374f0 (mempcpy)
---13027-- Reading syms from /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0
---13027--    object doesn't have a symbol table
---13027-- Reading syms from /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25
---13027--    object doesn't have a symbol table
---13027-- Reading syms from /lib/x86_64-linux-gnu/libm-2.27.so
---13027--   Considering /lib/x86_64-linux-gnu/libm-2.27.so ..
---13027--   .. CRC mismatch (computed 7feae033 wanted b29b2508)
---13027--   Considering /usr/lib/debug/lib/x86_64-linux-gnu/libm-2.27.so ..
---13027--   .. CRC is valid
---13027-- Reading syms from /lib/x86_64-linux-gnu/libgcc_s.so.1
---13027--    object doesn't have a symbol table
---13027-- Reading syms from /lib/x86_64-linux-gnu/libc-2.27.so
---13027--   Considering /lib/x86_64-linux-gnu/libc-2.27.so ..
---13027--   .. CRC mismatch (computed b1c74187 wanted 042cc048)
---13027--   Considering /usr/lib/debug/lib/x86_64-linux-gnu/libc-2.27.so ..
---13027--   .. CRC is valid
---13027-- Reading syms from /lib/x86_64-linux-gnu/libz.so.1.2.11
---13027--    object doesn't have a symbol table
---13027-- REDIR: 0x5a4bc70 (libc.so.6:memmove) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---13027-- REDIR: 0x5a4ad40 (libc.so.6:strncpy) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---13027-- REDIR: 0x5a4bf50 (libc.so.6:strcasecmp) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---13027-- REDIR: 0x5a4a790 (libc.so.6:strcat) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---13027-- REDIR: 0x5a4ad70 (libc.so.6:rindex) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---13027-- REDIR: 0x5a4d7c0 (libc.so.6:rawmemchr) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---13027-- REDIR: 0x5a4bde0 (libc.so.6:mempcpy) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---13027-- REDIR: 0x5a4bc10 (libc.so.6:bcmp) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---13027-- REDIR: 0x5a4ad00 (libc.so.6:strncmp) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---13027-- REDIR: 0x5a4a800 (libc.so.6:strcmp) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---13027-- REDIR: 0x5a4bd40 (libc.so.6:memset) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---13027-- REDIR: 0x5a690f0 (libc.so.6:wcschr) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---13027-- REDIR: 0x5a4aca0 (libc.so.6:strnlen) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---13027-- REDIR: 0x5a4a870 (libc.so.6:strcspn) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---13027-- REDIR: 0x5a4bfa0 (libc.so.6:strncasecmp) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---13027-- REDIR: 0x5a4a840 (libc.so.6:strcpy) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---13027-- REDIR: 0x5a4c0e0 (libc.so.6:memcpy@@GLIBC_2.14) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---13027-- REDIR: 0x5a4ada0 (libc.so.6:strpbrk) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---13027-- REDIR: 0x5a4a7c0 (libc.so.6:index) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---13027-- REDIR: 0x5a4ac70 (libc.so.6:strlen) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---13027-- REDIR: 0x5a556c0 (libc.so.6:memrchr) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---13027-- REDIR: 0x5a4bff0 (libc.so.6:strcasecmp_l) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---13027-- REDIR: 0x5a4bbe0 (libc.so.6:memchr) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---13027-- REDIR: 0x5a69eb0 (libc.so.6:wcslen) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---13027-- REDIR: 0x5a4b050 (libc.so.6:strspn) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---13027-- REDIR: 0x5a4bf20 (libc.so.6:stpncpy) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---13027-- REDIR: 0x5a4bef0 (libc.so.6:stpcpy) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---13027-- REDIR: 0x5a4d7f0 (libc.so.6:strchrnul) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---13027-- REDIR: 0x5a4c040 (libc.so.6:strncasecmp_l) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---13027-- REDIR: 0x5ade8a0 (libc.so.6:__memcpy_chk) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---13027-- REDIR: 0x5b3b3c0 (libc.so.6:__strrchr_avx2) redirected to 0x4c32730 (rindex)
---13027-- REDIR: 0x5a44070 (libc.so.6:malloc) redirected to 0x4c2faa0 (malloc)
---13027-- REDIR: 0x5b3b590 (libc.so.6:__strlen_avx2) redirected to 0x4c32cf0 (strlen)
---13027-- REDIR: 0x5b37ba0 (libc.so.6:__memcmp_avx2_movbe) redirected to 0x4c35e00 (bcmp)
---13027-- REDIR: 0x5b16d60 (libc.so.6:__strcmp_ssse3) redirected to 0x4c33da0 (strcmp)
---13027-- REDIR: 0x5101190 (libstdc++.so.6:operator new(unsigned long)) redirected to 0x4c30110 (operator new(unsigned long))
---13027-- REDIR: 0x5b3bad0 (libc.so.6:__memcpy_avx_unaligned_erms) redirected to 0x4c366e0 (memmove)
---13027-- REDIR: 0x5a4b590 (libc.so.6:__GI_strstr) redirected to 0x4c37760 (__strstr_sse2)
---13027-- REDIR: 0x5b3bab0 (libc.so.6:__mempcpy_avx_unaligned_erms) redirected to 0x4c37130 (mempcpy)
---13027-- REDIR: 0x5b3bf50 (libc.so.6:__memset_avx2_unaligned_erms) redirected to 0x4c365d0 (memset)
---13027-- REDIR: 0x50ff310 (libstdc++.so.6:operator delete[](void*)) redirected to 0x4c316d0 (operator delete[](void*))
-==13027== Mismatched free() / delete / delete []
-==13027==    at 0x4C3173B: operator delete[](void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==13027==    by 0x10E215: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027==    by 0x10F25F: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027==  Address 0x5fcf910 is 0 bytes inside a block of size 24 alloc'd
-==13027==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==13027==    by 0x10D0B5: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027==    by 0x10F25F: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027== 
---13027-- REDIR: 0x5a44950 (libc.so.6:free) redirected to 0x4c30cd0 (free)
-==13027== Mismatched free() / delete / delete []
-==13027==    at 0x4C3173B: operator delete[](void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==13027==    by 0x10F2D8: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027==  Address 0x5fccc80 is 0 bytes inside a block of size 48 alloc'd
-==13027==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==13027==    by 0x10EB44: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027== 
---13027-- REDIR: 0x50ff2e0 (libstdc++.so.6:operator delete(void*)) redirected to 0x4c311d0 (operator delete(void*))
-==13027== 
-==13027== HEAP SUMMARY:
-==13027==     in use at exit: 157,666 bytes in 287 blocks
-==13027==   total heap usage: 332 allocs, 45 frees, 237,202 bytes allocated
-==13027== 
-==13027== Searching for pointers to 287 not-freed blocks
-==13027== Checked 119,384 bytes
-==13027== 
-==13027== 30 bytes in 1 blocks are definitely lost in loss record 1 of 15
-==13027==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==13027==    by 0x4E46DDD: png_malloc (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x10CDE5: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027==    by 0x10F25F: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027== 
-==13027== 31 bytes in 1 blocks are indirectly lost in loss record 2 of 15
-==13027==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==13027==    by 0x4E46DDD: png_malloc (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x4E613B3: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x4E5C84B: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027==    by 0x10F25F: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027== 
-==13027== 31 bytes in 1 blocks are indirectly lost in loss record 3 of 15
-==13027==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==13027==    by 0x4E46DDD: png_malloc (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x4E614A2: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x4E5C84B: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027==    by 0x10F25F: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027== 
-==13027== 31 bytes in 1 blocks are indirectly lost in loss record 4 of 15
-==13027==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==13027==    by 0x4E46DDD: png_malloc (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x4E614E3: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x4E5C84B: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027==    by 0x10F25F: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027== 
-==13027== 31 bytes in 1 blocks are indirectly lost in loss record 5 of 15
-==13027==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==13027==    by 0x4E46DDD: png_malloc (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x4E46E08: png_calloc (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x4E61419: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x4E5C84B: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027==    by 0x10F25F: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027== 
-==13027== 360 bytes in 1 blocks are definitely lost in loss record 6 of 15
-==13027==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==13027==    by 0x4E40F32: png_create_info_struct (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x10CCC6: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027==    by 0x10F25F: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027== 
-==13027== 2,048 bytes in 1 blocks are indirectly lost in loss record 7 of 15
-==13027==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==13027==    by 0x4E46E81: png_malloc_warn (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x5DA5E9E: deflateInit2_ (in /lib/x86_64-linux-gnu/libz.so.1.2.11)
-==13027==    by 0x4E5EDF0: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x4E5FA92: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x4E61B45: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x4E5C981: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027==    by 0x10F25F: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027== 
-==13027== 2,048 bytes in 1 blocks are indirectly lost in loss record 8 of 15
-==13027==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==13027==    by 0x4E46E81: png_malloc_warn (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x5DA5EB1: deflateInit2_ (in /lib/x86_64-linux-gnu/libz.so.1.2.11)
-==13027==    by 0x4E5EDF0: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x4E5FA92: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x4E61B45: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x4E5C981: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027==    by 0x10F25F: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027== 
-==13027== 2,160 bytes in 90 blocks are definitely lost in loss record 9 of 15
-==13027==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==13027==    by 0x10D0B5: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027==    by 0x10F25F: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027== 
-==13027== 4,416 bytes in 184 blocks are definitely lost in loss record 10 of 15
-==13027==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==13027==    by 0x10E5DF: Scene::reflected_rays(Ray3f**, int, int, float*) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027==    by 0x10D0FD: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027==    by 0x10F25F: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027== 
-==13027== 5,952 bytes in 1 blocks are indirectly lost in loss record 11 of 15
-==13027==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==13027==    by 0x4E46E81: png_malloc_warn (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x5DA5E14: deflateInit2_ (in /lib/x86_64-linux-gnu/libz.so.1.2.11)
-==13027==    by 0x4E5EDF0: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x4E5FA92: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x4E61B45: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x4E5C981: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027==    by 0x10F25F: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027== 
-==13027== 8,200 bytes in 1 blocks are indirectly lost in loss record 12 of 15
-==13027==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==13027==    by 0x4E46DDD: png_malloc (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x4E5FCFE: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x4E61B45: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x4E5C981: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027==    by 0x10F25F: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027== 
-==13027== 65,536 bytes in 1 blocks are indirectly lost in loss record 13 of 15
-==13027==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==13027==    by 0x4E46E81: png_malloc_warn (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x5DA5EC7: deflateInit2_ (in /lib/x86_64-linux-gnu/libz.so.1.2.11)
-==13027==    by 0x4E5EDF0: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x4E5FA92: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x4E61B45: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x4E5C981: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027==    by 0x10F25F: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027== 
-==13027== 65,536 bytes in 1 blocks are indirectly lost in loss record 14 of 15
-==13027==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==13027==    by 0x4E46E81: png_malloc_warn (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x5DA5EF6: deflateInit2_ (in /lib/x86_64-linux-gnu/libz.so.1.2.11)
-==13027==    by 0x4E5EDF0: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x4E5FA92: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x4E61B45: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x4E5C981: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027==    by 0x10F25F: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027== 
-==13027== 150,700 (1,256 direct, 149,444 indirect) bytes in 1 blocks are definitely lost in loss record 15 of 15
-==13027==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==13027==    by 0x4E46E81: png_malloc_warn (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x4E40E8F: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x4E5C74C: png_create_write_struct_2 (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x4E5C7F0: png_create_write_struct (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==13027==    by 0x10CC6D: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027==    by 0x10F25F: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027== 
-==13027== LEAK SUMMARY:
-==13027==    definitely lost: 8,222 bytes in 277 blocks
-==13027==    indirectly lost: 149,444 bytes in 10 blocks
-==13027==      possibly lost: 0 bytes in 0 blocks
-==13027==    still reachable: 0 bytes in 0 blocks
-==13027==         suppressed: 0 bytes in 0 blocks
-==13027== 
-==13027== ERROR SUMMARY: 43 errors from 7 contexts (suppressed: 0 from 0)
-==13027== 
-==13027== 8 errors in context 1 of 7:
-==13027== Mismatched free() / delete / delete []
-==13027==    at 0x4C3173B: operator delete[](void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==13027==    by 0x10F2D8: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027==  Address 0x5fccc80 is 0 bytes inside a block of size 48 alloc'd
-==13027==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==13027==    by 0x10EB44: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027== 
-==13027== 
-==13027== 30 errors in context 2 of 7:
-==13027== Mismatched free() / delete / delete []
-==13027==    at 0x4C3173B: operator delete[](void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==13027==    by 0x10E215: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027==    by 0x10F25F: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027==  Address 0x5fcf910 is 0 bytes inside a block of size 24 alloc'd
-==13027==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==13027==    by 0x10D0B5: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027==    by 0x10F25F: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==13027== 
-==13027== ERROR SUMMARY: 43 errors from 7 contexts (suppressed: 0 from 0)
-=======
-==11822== Memcheck, a memory error detector
-==11822== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
-==11822== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info
-==11822== Command: ./main
-==11822== Parent PID: 10617
-==11822== 
---11822-- 
---11822-- Valgrind options:
---11822--    --leak-check=full
---11822--    --show-leak-kinds=all
---11822--    --track-origins=yes
---11822--    --verbose
---11822--    --log-file=valgrind-out.txt
---11822-- Contents of /proc/version:
---11822--   Linux version 4.15.0-48-generic (buildd@lgw01-amd64-036) (gcc version 7.3.0 (Ubuntu 7.3.0-16ubuntu3)) #51-Ubuntu SMP Wed Apr 3 08:28:49 UTC 2019
---11822-- 
---11822-- Arch and hwcaps: AMD64, LittleEndian, amd64-cx16-lzcnt-rdtscp-sse3-avx-avx2-bmi
---11822-- Page sizes: currently 4096, max supported 4096
---11822-- Valgrind library directory: /usr/lib/valgrind
---11822-- Reading syms from /home/acheroufkebir/PAP/pap_ray_tracing_final/main
---11822-- Reading syms from /lib/x86_64-linux-gnu/ld-2.27.so
---11822--   Considering /lib/x86_64-linux-gnu/ld-2.27.so ..
---11822--   .. CRC mismatch (computed 1b7c895e wanted 2943108a)
---11822--   Considering /usr/lib/debug/lib/x86_64-linux-gnu/ld-2.27.so ..
---11822--   .. CRC is valid
---11822-- Reading syms from /usr/lib/valgrind/memcheck-amd64-linux
---11822--   Considering /usr/lib/valgrind/memcheck-amd64-linux ..
---11822--   .. CRC mismatch (computed 41ddb025 wanted 9972f546)
---11822--    object doesn't have a symbol table
---11822--    object doesn't have a dynamic symbol table
---11822-- Scheduler: using generic scheduler lock implementation.
---11822-- Reading suppressions file: /usr/lib/valgrind/default.supp
-==11822== embedded gdbserver: reading from /tmp/vgdb-pipe-from-vgdb-to-11822-by-acheroufkebir-on-???
-==11822== embedded gdbserver: writing to   /tmp/vgdb-pipe-to-vgdb-from-11822-by-acheroufkebir-on-???
-==11822== embedded gdbserver: shared mem   /tmp/vgdb-pipe-shared-mem-vgdb-11822-by-acheroufkebir-on-???
-==11822== 
-==11822== TO CONTROL THIS PROCESS USING vgdb (which you probably
-==11822== don't want to do, unless you know exactly what you're doing,
-==11822== or are doing some strange experiment):
-==11822==   /usr/lib/valgrind/../../bin/vgdb --pid=11822 ...command...
-==11822== 
-==11822== TO DEBUG THIS PROCESS USING GDB: start GDB like this
-==11822==   /path/to/gdb ./main
-==11822== and then give GDB the following command
-==11822==   target remote | /usr/lib/valgrind/../../bin/vgdb --pid=11822
-==11822== --pid is optional if only one valgrind process is running
-==11822== 
---11822-- REDIR: 0x401f2f0 (ld-linux-x86-64.so.2:strlen) redirected to 0x580608c1 (???)
---11822-- REDIR: 0x401f0d0 (ld-linux-x86-64.so.2:index) redirected to 0x580608db (???)
---11822-- Reading syms from /usr/lib/valgrind/vgpreload_core-amd64-linux.so
---11822--   Considering /usr/lib/valgrind/vgpreload_core-amd64-linux.so ..
---11822--   .. CRC mismatch (computed 50df1b30 wanted 4800a4cf)
---11822--    object doesn't have a symbol table
---11822-- Reading syms from /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so
---11822--   Considering /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so ..
---11822--   .. CRC mismatch (computed f893b962 wanted 95ee359e)
---11822--    object doesn't have a symbol table
-==11822== WARNING: new redirection conflicts with existing -- ignoring it
---11822--     old: 0x0401f2f0 (strlen              ) R-> (0000.0) 0x580608c1 ???
---11822--     new: 0x0401f2f0 (strlen              ) R-> (2007.0) 0x04c32db0 strlen
---11822-- REDIR: 0x401d360 (ld-linux-x86-64.so.2:strcmp) redirected to 0x4c33ee0 (strcmp)
---11822-- REDIR: 0x401f830 (ld-linux-x86-64.so.2:mempcpy) redirected to 0x4c374f0 (mempcpy)
---11822-- Reading syms from /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0
---11822--    object doesn't have a symbol table
---11822-- Reading syms from /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25
---11822--    object doesn't have a symbol table
---11822-- Reading syms from /lib/x86_64-linux-gnu/libm-2.27.so
---11822--   Considering /lib/x86_64-linux-gnu/libm-2.27.so ..
---11822--   .. CRC mismatch (computed 7feae033 wanted b29b2508)
---11822--   Considering /usr/lib/debug/lib/x86_64-linux-gnu/libm-2.27.so ..
---11822--   .. CRC is valid
---11822-- Reading syms from /lib/x86_64-linux-gnu/libgcc_s.so.1
---11822--    object doesn't have a symbol table
---11822-- Reading syms from /lib/x86_64-linux-gnu/libc-2.27.so
---11822--   Considering /lib/x86_64-linux-gnu/libc-2.27.so ..
---11822--   .. CRC mismatch (computed b1c74187 wanted 042cc048)
---11822--   Considering /usr/lib/debug/lib/x86_64-linux-gnu/libc-2.27.so ..
---11822--   .. CRC is valid
---11822-- Reading syms from /lib/x86_64-linux-gnu/libz.so.1.2.11
---11822--    object doesn't have a symbol table
---11822-- REDIR: 0x5a4bc70 (libc.so.6:memmove) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---11822-- REDIR: 0x5a4ad40 (libc.so.6:strncpy) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---11822-- REDIR: 0x5a4bf50 (libc.so.6:strcasecmp) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---11822-- REDIR: 0x5a4a790 (libc.so.6:strcat) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---11822-- REDIR: 0x5a4ad70 (libc.so.6:rindex) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---11822-- REDIR: 0x5a4d7c0 (libc.so.6:rawmemchr) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---11822-- REDIR: 0x5a4bde0 (libc.so.6:mempcpy) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---11822-- REDIR: 0x5a4bc10 (libc.so.6:bcmp) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---11822-- REDIR: 0x5a4ad00 (libc.so.6:strncmp) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---11822-- REDIR: 0x5a4a800 (libc.so.6:strcmp) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---11822-- REDIR: 0x5a4bd40 (libc.so.6:memset) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---11822-- REDIR: 0x5a690f0 (libc.so.6:wcschr) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---11822-- REDIR: 0x5a4aca0 (libc.so.6:strnlen) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---11822-- REDIR: 0x5a4a870 (libc.so.6:strcspn) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---11822-- REDIR: 0x5a4bfa0 (libc.so.6:strncasecmp) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---11822-- REDIR: 0x5a4a840 (libc.so.6:strcpy) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---11822-- REDIR: 0x5a4c0e0 (libc.so.6:memcpy@@GLIBC_2.14) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---11822-- REDIR: 0x5a4ada0 (libc.so.6:strpbrk) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---11822-- REDIR: 0x5a4a7c0 (libc.so.6:index) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---11822-- REDIR: 0x5a4ac70 (libc.so.6:strlen) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---11822-- REDIR: 0x5a556c0 (libc.so.6:memrchr) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---11822-- REDIR: 0x5a4bff0 (libc.so.6:strcasecmp_l) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---11822-- REDIR: 0x5a4bbe0 (libc.so.6:memchr) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---11822-- REDIR: 0x5a69eb0 (libc.so.6:wcslen) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---11822-- REDIR: 0x5a4b050 (libc.so.6:strspn) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---11822-- REDIR: 0x5a4bf20 (libc.so.6:stpncpy) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---11822-- REDIR: 0x5a4bef0 (libc.so.6:stpcpy) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---11822-- REDIR: 0x5a4d7f0 (libc.so.6:strchrnul) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---11822-- REDIR: 0x5a4c040 (libc.so.6:strncasecmp_l) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---11822-- REDIR: 0x5ade8a0 (libc.so.6:__memcpy_chk) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
---11822-- REDIR: 0x5b3b3c0 (libc.so.6:__strrchr_avx2) redirected to 0x4c32730 (rindex)
---11822-- REDIR: 0x5a44070 (libc.so.6:malloc) redirected to 0x4c2faa0 (malloc)
---11822-- REDIR: 0x5b3b590 (libc.so.6:__strlen_avx2) redirected to 0x4c32cf0 (strlen)
---11822-- REDIR: 0x5b37ba0 (libc.so.6:__memcmp_avx2_movbe) redirected to 0x4c35e00 (bcmp)
---11822-- REDIR: 0x5b16d60 (libc.so.6:__strcmp_ssse3) redirected to 0x4c33da0 (strcmp)
---11822-- REDIR: 0x5101190 (libstdc++.so.6:operator new(unsigned long)) redirected to 0x4c30110 (operator new(unsigned long))
---11822-- REDIR: 0x5b3bad0 (libc.so.6:__memcpy_avx_unaligned_erms) redirected to 0x4c366e0 (memmove)
---11822-- REDIR: 0x5a4b590 (libc.so.6:__GI_strstr) redirected to 0x4c37760 (__strstr_sse2)
---11822-- REDIR: 0x5b3bab0 (libc.so.6:__mempcpy_avx_unaligned_erms) redirected to 0x4c37130 (mempcpy)
---11822-- REDIR: 0x5b3bf50 (libc.so.6:__memset_avx2_unaligned_erms) redirected to 0x4c365d0 (memset)
---11822-- REDIR: 0x50ff310 (libstdc++.so.6:operator delete[](void*)) redirected to 0x4c316d0 (operator delete[](void*))
-==11822== Mismatched free() / delete / delete []
-==11822==    at 0x4C3173B: operator delete[](void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x10E235: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x10FFDD: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==  Address 0x96fefc0 is 0 bytes inside a block of size 24 alloc'd
-==11822==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x10D0B5: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x10FFDD: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
---11822-- REDIR: 0x5a44950 (libc.so.6:free) redirected to 0x4c30cd0 (free)
-==11822== Mismatched free() / delete / delete []
-==11822==    at 0x4C3173B: operator delete[](void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x10E235: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x110034: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==  Address 0x12229120 is 0 bytes inside a block of size 24 alloc'd
-==11822==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x10D0B5: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x110034: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== Mismatched free() / delete / delete []
-==11822==    at 0x4C3173B: operator delete[](void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x10E235: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x11008B: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==  Address 0x1ad533a0 is 0 bytes inside a block of size 24 alloc'd
-==11822==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x10D0B5: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x11008B: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== Mismatched free() / delete / delete []
-==11822==    at 0x4C3173B: operator delete[](void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x110104: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==  Address 0x5fccc80 is 0 bytes inside a block of size 48 alloc'd
-==11822==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x10F8BF: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
---11822-- REDIR: 0x50ff2e0 (libstdc++.so.6:operator delete(void*)) redirected to 0x4c311d0 (operator delete(void*))
-==11822== 
-==11822== HEAP SUMMARY:
-==11822==     in use at exit: 88,068,768 bytes in 3,633,819 blocks
-==11822==   total heap usage: 3,633,852 allocs, 33 frees, 88,157,216 bytes allocated
-==11822== 
-==11822== Searching for pointers to 3,633,819 not-freed blocks
-==11822== Checked 119,672 bytes
-==11822== 
-==11822== 48 bytes in 2 blocks are still reachable in loss record 1 of 54
-==11822==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x10E5DF: Scene::reflected_rays(Ray3f**, int, int, float*) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x10D0FD: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x10FFDD: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 48 bytes in 2 blocks are possibly lost in loss record 2 of 54
-==11822==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x10E5DF: Scene::reflected_rays(Ray3f**, int, int, float*) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x10D0FD: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x10FFDD: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 72 bytes in 3 blocks are possibly lost in loss record 3 of 54
-==11822==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x10E5DF: Scene::reflected_rays(Ray3f**, int, int, float*) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x10D0FD: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x110034: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 72 bytes in 3 blocks are indirectly lost in loss record 4 of 54
-==11822==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x10D0B5: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x110034: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 120 bytes in 5 blocks are possibly lost in loss record 5 of 54
-==11822==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x10D0B5: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x10FFDD: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 144 bytes in 6 blocks are indirectly lost in loss record 6 of 54
-==11822==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x10E5DF: Scene::reflected_rays(Ray3f**, int, int, float*) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x10D0FD: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x10FFDD: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 144 bytes in 6 blocks are indirectly lost in loss record 7 of 54
-==11822==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x10E5DF: Scene::reflected_rays(Ray3f**, int, int, float*) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x10D0FD: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x11008B: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 216 bytes in 9 blocks are indirectly lost in loss record 8 of 54
-==11822==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x10D0B5: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x10FFDD: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 216 bytes in 9 blocks are indirectly lost in loss record 9 of 54
-==11822==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x10E5DF: Scene::reflected_rays(Ray3f**, int, int, float*) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x10D0FD: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x110034: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 360 bytes in 1 blocks are definitely lost in loss record 10 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E40F32: png_create_info_struct (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10CCC6: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x10FFDD: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 360 bytes in 1 blocks are definitely lost in loss record 11 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E40F32: png_create_info_struct (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10CCC6: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x110034: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 360 bytes in 1 blocks are definitely lost in loss record 12 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E40F32: png_create_info_struct (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10CCC6: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x11008B: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 1,620 bytes in 1 blocks are definitely lost in loss record 13 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46DDD: png_malloc (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10CDE5: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x10FFDD: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 1,620 bytes in 1 blocks are definitely lost in loss record 14 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46DDD: png_malloc (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10CDE5: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x110034: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 1,620 bytes in 1 blocks are definitely lost in loss record 15 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46DDD: png_malloc (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10CDE5: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x11008B: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 1,621 bytes in 1 blocks are indirectly lost in loss record 16 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46DDD: png_malloc (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E613B3: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C84B: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x10FFDD: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 1,621 bytes in 1 blocks are indirectly lost in loss record 17 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46DDD: png_malloc (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E614A2: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C84B: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x10FFDD: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 1,621 bytes in 1 blocks are indirectly lost in loss record 18 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46DDD: png_malloc (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E614E3: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C84B: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x10FFDD: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 1,621 bytes in 1 blocks are indirectly lost in loss record 19 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46DDD: png_malloc (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E46E08: png_calloc (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E61419: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C84B: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x10FFDD: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 1,621 bytes in 1 blocks are indirectly lost in loss record 20 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46DDD: png_malloc (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E613B3: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C84B: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x110034: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 1,621 bytes in 1 blocks are indirectly lost in loss record 21 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46DDD: png_malloc (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E614A2: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C84B: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x110034: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 1,621 bytes in 1 blocks are indirectly lost in loss record 22 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46DDD: png_malloc (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E614E3: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C84B: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x110034: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 1,621 bytes in 1 blocks are indirectly lost in loss record 23 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46DDD: png_malloc (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E46E08: png_calloc (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E61419: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C84B: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x110034: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 1,621 bytes in 1 blocks are indirectly lost in loss record 24 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46DDD: png_malloc (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E613B3: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C84B: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x11008B: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 1,621 bytes in 1 blocks are indirectly lost in loss record 25 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46DDD: png_malloc (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E614A2: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C84B: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x11008B: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 1,621 bytes in 1 blocks are indirectly lost in loss record 26 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46DDD: png_malloc (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E614E3: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C84B: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x11008B: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 1,621 bytes in 1 blocks are indirectly lost in loss record 27 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46DDD: png_malloc (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E46E08: png_calloc (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E61419: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C84B: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x11008B: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 5,952 bytes in 1 blocks are indirectly lost in loss record 28 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46E81: png_malloc_warn (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x5DA5E14: deflateInit2_ (in /lib/x86_64-linux-gnu/libz.so.1.2.11)
-==11822==    by 0x4E5EDF0: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5FA92: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E61B45: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C981: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x10FFDD: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 5,952 bytes in 1 blocks are indirectly lost in loss record 29 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46E81: png_malloc_warn (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x5DA5E14: deflateInit2_ (in /lib/x86_64-linux-gnu/libz.so.1.2.11)
-==11822==    by 0x4E5EDF0: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5FA92: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E61B45: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C981: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x110034: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 5,952 bytes in 1 blocks are indirectly lost in loss record 30 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46E81: png_malloc_warn (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x5DA5E14: deflateInit2_ (in /lib/x86_64-linux-gnu/libz.so.1.2.11)
-==11822==    by 0x4E5EDF0: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5FA92: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E61B45: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C981: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x11008B: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 8,200 bytes in 1 blocks are indirectly lost in loss record 31 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46DDD: png_malloc (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5FCFE: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E61B45: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C981: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x10FFDD: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 8,200 bytes in 1 blocks are indirectly lost in loss record 32 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46DDD: png_malloc (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5FCFE: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E61B45: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C981: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x110034: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 8,200 bytes in 1 blocks are indirectly lost in loss record 33 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46DDD: png_malloc (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5FCFE: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E61B45: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C981: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x11008B: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 65,536 bytes in 1 blocks are indirectly lost in loss record 34 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46E81: png_malloc_warn (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x5DA5E9E: deflateInit2_ (in /lib/x86_64-linux-gnu/libz.so.1.2.11)
-==11822==    by 0x4E5EDF0: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5FA92: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E61B45: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C981: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x10FFDD: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 65,536 bytes in 1 blocks are indirectly lost in loss record 35 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46E81: png_malloc_warn (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x5DA5EB1: deflateInit2_ (in /lib/x86_64-linux-gnu/libz.so.1.2.11)
-==11822==    by 0x4E5EDF0: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5FA92: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E61B45: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C981: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x10FFDD: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 65,536 bytes in 1 blocks are indirectly lost in loss record 36 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46E81: png_malloc_warn (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x5DA5EC7: deflateInit2_ (in /lib/x86_64-linux-gnu/libz.so.1.2.11)
-==11822==    by 0x4E5EDF0: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5FA92: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E61B45: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C981: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x10FFDD: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 65,536 bytes in 1 blocks are indirectly lost in loss record 37 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46E81: png_malloc_warn (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x5DA5EF6: deflateInit2_ (in /lib/x86_64-linux-gnu/libz.so.1.2.11)
-==11822==    by 0x4E5EDF0: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5FA92: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E61B45: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C981: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x10FFDD: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 65,536 bytes in 1 blocks are indirectly lost in loss record 38 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46E81: png_malloc_warn (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x5DA5E9E: deflateInit2_ (in /lib/x86_64-linux-gnu/libz.so.1.2.11)
-==11822==    by 0x4E5EDF0: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5FA92: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E61B45: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C981: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x110034: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 65,536 bytes in 1 blocks are indirectly lost in loss record 39 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46E81: png_malloc_warn (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x5DA5EB1: deflateInit2_ (in /lib/x86_64-linux-gnu/libz.so.1.2.11)
-==11822==    by 0x4E5EDF0: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5FA92: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E61B45: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C981: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x110034: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 65,536 bytes in 1 blocks are indirectly lost in loss record 40 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46E81: png_malloc_warn (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x5DA5EC7: deflateInit2_ (in /lib/x86_64-linux-gnu/libz.so.1.2.11)
-==11822==    by 0x4E5EDF0: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5FA92: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E61B45: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C981: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x110034: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 65,536 bytes in 1 blocks are indirectly lost in loss record 41 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46E81: png_malloc_warn (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x5DA5EF6: deflateInit2_ (in /lib/x86_64-linux-gnu/libz.so.1.2.11)
-==11822==    by 0x4E5EDF0: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5FA92: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E61B45: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C981: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x110034: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 65,536 bytes in 1 blocks are indirectly lost in loss record 42 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46E81: png_malloc_warn (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x5DA5E9E: deflateInit2_ (in /lib/x86_64-linux-gnu/libz.so.1.2.11)
-==11822==    by 0x4E5EDF0: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5FA92: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E61B45: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C981: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x11008B: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 65,536 bytes in 1 blocks are indirectly lost in loss record 43 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46E81: png_malloc_warn (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x5DA5EB1: deflateInit2_ (in /lib/x86_64-linux-gnu/libz.so.1.2.11)
-==11822==    by 0x4E5EDF0: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5FA92: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E61B45: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C981: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x11008B: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 65,536 bytes in 1 blocks are indirectly lost in loss record 44 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46E81: png_malloc_warn (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x5DA5EC7: deflateInit2_ (in /lib/x86_64-linux-gnu/libz.so.1.2.11)
-==11822==    by 0x4E5EDF0: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5FA92: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E61B45: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C981: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x11008B: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 65,536 bytes in 1 blocks are indirectly lost in loss record 45 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46E81: png_malloc_warn (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x5DA5EF6: deflateInit2_ (in /lib/x86_64-linux-gnu/libz.so.1.2.11)
-==11822==    by 0x4E5EDF0: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5FA92: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E61B45: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C981: png_write_row (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10E1CB: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x11008B: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 284,228 (1,256 direct, 282,972 indirect) bytes in 1 blocks are definitely lost in loss record 46 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46E81: png_malloc_warn (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E40E8F: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C74C: png_create_write_struct_2 (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C7F0: png_create_write_struct (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10CC6D: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x10FFDD: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 284,300 (1,256 direct, 283,044 indirect) bytes in 1 blocks are definitely lost in loss record 47 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46E81: png_malloc_warn (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E40E8F: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C74C: png_create_write_struct_2 (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C7F0: png_create_write_struct (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10CC6D: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x11008B: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 284,372 (1,256 direct, 283,116 indirect) bytes in 1 blocks are definitely lost in loss record 48 of 54
-==11822==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x4E46E81: png_malloc_warn (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E40E8F: ??? (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C74C: png_create_write_struct_2 (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x4E5C7F0: png_create_write_struct (in /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0)
-==11822==    by 0x10CC6D: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x110034: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 6,998,040 bytes in 291,585 blocks are definitely lost in loss record 49 of 54
-==11822==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x10D0B5: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x10FFDD: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 6,998,304 bytes in 291,596 blocks are definitely lost in loss record 50 of 54
-==11822==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x10D0B5: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x110034: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 6,998,376 bytes in 291,599 blocks are definitely lost in loss record 51 of 54
-==11822==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x10D0B5: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x11008B: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 7,397,016 bytes in 308,209 blocks are definitely lost in loss record 52 of 54
-==11822==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x10E5DF: Scene::reflected_rays(Ray3f**, int, int, float*) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x10D0FD: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x10FFDD: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 29,408,880 bytes in 1,225,370 blocks are definitely lost in loss record 53 of 54
-==11822==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x10E5DF: Scene::reflected_rays(Ray3f**, int, int, float*) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x10D0FD: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x110034: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 29,409,024 bytes in 1,225,376 blocks are definitely lost in loss record 54 of 54
-==11822==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x10E5DF: Scene::reflected_rays(Ray3f**, int, int, float*) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x10D0FD: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x11008B: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== LEAK SUMMARY:
-==11822==    definitely lost: 87,219,348 bytes in 3,633,744 blocks
-==11822==    indirectly lost: 849,132 bytes in 63 blocks
-==11822==      possibly lost: 240 bytes in 10 blocks
-==11822==    still reachable: 48 bytes in 2 blocks
-==11822==         suppressed: 0 bytes in 0 blocks
-==11822== 
-==11822== ERROR SUMMARY: 40 errors from 22 contexts (suppressed: 0 from 0)
-==11822== 
-==11822== 2 errors in context 1 of 22:
-==11822== Mismatched free() / delete / delete []
-==11822==    at 0x4C3173B: operator delete[](void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x10E235: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x10FFDD: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==  Address 0x96fefc0 is 0 bytes inside a block of size 24 alloc'd
-==11822==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x10D0B5: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x10FFDD: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 
-==11822== 6 errors in context 2 of 22:
-==11822== Mismatched free() / delete / delete []
-==11822==    at 0x4C3173B: operator delete[](void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x10E235: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x11008B: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==  Address 0x1ad533a0 is 0 bytes inside a block of size 24 alloc'd
-==11822==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x10D0B5: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x11008B: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 
-==11822== 6 errors in context 3 of 22:
-==11822== Mismatched free() / delete / delete []
-==11822==    at 0x4C3173B: operator delete[](void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x10E235: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x110034: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==  Address 0x12229120 is 0 bytes inside a block of size 24 alloc'd
-==11822==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x10D0B5: Scene::render(int, int, int, int, int, char*, int, bool) (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==    by 0x110034: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== 
-==11822== 8 errors in context 4 of 22:
-==11822== Mismatched free() / delete / delete []
-==11822==    at 0x4C3173B: operator delete[](void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x110104: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822==  Address 0x5fccc80 is 0 bytes inside a block of size 48 alloc'd
-==11822==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==11822==    by 0x10F8BF: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
-==11822== 
-==11822== ERROR SUMMARY: 40 errors from 22 contexts (suppressed: 0 from 0)
->>>>>>> 346ea2a29cfb842c864e852a681a26221d2fc5bc
->>>>>>> f6351720da073a4d83478216bffa156ba33cb23f
+==16282== Memcheck, a memory error detector
+==16282== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
+==16282== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info
+==16282== Command: ./main
+==16282== Parent PID: 16027
+==16282== 
+--16282-- 
+--16282-- Valgrind options:
+--16282--    --leak-check=full
+--16282--    --show-leak-kinds=all
+--16282--    --track-origins=yes
+--16282--    --verbose
+--16282--    --log-file=valgrind-out.txt
+--16282-- Contents of /proc/version:
+--16282--   Linux version 4.15.0-48-generic (buildd@lgw01-amd64-036) (gcc version 7.3.0 (Ubuntu 7.3.0-16ubuntu3)) #51-Ubuntu SMP Wed Apr 3 08:28:49 UTC 2019
+--16282-- 
+--16282-- Arch and hwcaps: AMD64, LittleEndian, amd64-cx16-lzcnt-rdtscp-sse3-avx-avx2-bmi
+--16282-- Page sizes: currently 4096, max supported 4096
+--16282-- Valgrind library directory: /usr/lib/valgrind
+--16282-- Reading syms from /home/acheroufkebir/PAP/pap_ray_tracing_final/main
+--16282-- Reading syms from /lib/x86_64-linux-gnu/ld-2.27.so
+--16282--   Considering /lib/x86_64-linux-gnu/ld-2.27.so ..
+--16282--   .. CRC mismatch (computed 1b7c895e wanted 2943108a)
+--16282--   Considering /usr/lib/debug/lib/x86_64-linux-gnu/ld-2.27.so ..
+--16282--   .. CRC is valid
+--16282-- Reading syms from /usr/lib/valgrind/memcheck-amd64-linux
+--16282--   Considering /usr/lib/valgrind/memcheck-amd64-linux ..
+--16282--   .. CRC mismatch (computed 41ddb025 wanted 9972f546)
+--16282--    object doesn't have a symbol table
+--16282--    object doesn't have a dynamic symbol table
+--16282-- Scheduler: using generic scheduler lock implementation.
+--16282-- Reading suppressions file: /usr/lib/valgrind/default.supp
+==16282== embedded gdbserver: reading from /tmp/vgdb-pipe-from-vgdb-to-16282-by-acheroufkebir-on-???
+==16282== embedded gdbserver: writing to   /tmp/vgdb-pipe-to-vgdb-from-16282-by-acheroufkebir-on-???
+==16282== embedded gdbserver: shared mem   /tmp/vgdb-pipe-shared-mem-vgdb-16282-by-acheroufkebir-on-???
+==16282== 
+==16282== TO CONTROL THIS PROCESS USING vgdb (which you probably
+==16282== don't want to do, unless you know exactly what you're doing,
+==16282== or are doing some strange experiment):
+==16282==   /usr/lib/valgrind/../../bin/vgdb --pid=16282 ...command...
+==16282== 
+==16282== TO DEBUG THIS PROCESS USING GDB: start GDB like this
+==16282==   /path/to/gdb ./main
+==16282== and then give GDB the following command
+==16282==   target remote | /usr/lib/valgrind/../../bin/vgdb --pid=16282
+==16282== --pid is optional if only one valgrind process is running
+==16282== 
+--16282-- REDIR: 0x401f2f0 (ld-linux-x86-64.so.2:strlen) redirected to 0x580608c1 (???)
+--16282-- REDIR: 0x401f0d0 (ld-linux-x86-64.so.2:index) redirected to 0x580608db (???)
+--16282-- Reading syms from /usr/lib/valgrind/vgpreload_core-amd64-linux.so
+--16282--   Considering /usr/lib/valgrind/vgpreload_core-amd64-linux.so ..
+--16282--   .. CRC mismatch (computed 50df1b30 wanted 4800a4cf)
+--16282--    object doesn't have a symbol table
+--16282-- Reading syms from /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so
+--16282--   Considering /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so ..
+--16282--   .. CRC mismatch (computed f893b962 wanted 95ee359e)
+--16282--    object doesn't have a symbol table
+==16282== WARNING: new redirection conflicts with existing -- ignoring it
+--16282--     old: 0x0401f2f0 (strlen              ) R-> (0000.0) 0x580608c1 ???
+--16282--     new: 0x0401f2f0 (strlen              ) R-> (2007.0) 0x04c32db0 strlen
+--16282-- REDIR: 0x401d360 (ld-linux-x86-64.so.2:strcmp) redirected to 0x4c33ee0 (strcmp)
+--16282-- REDIR: 0x401f830 (ld-linux-x86-64.so.2:mempcpy) redirected to 0x4c374f0 (mempcpy)
+--16282-- Reading syms from /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0
+--16282--    object doesn't have a symbol table
+--16282-- Reading syms from /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25
+--16282--    object doesn't have a symbol table
+--16282-- Reading syms from /lib/x86_64-linux-gnu/libm-2.27.so
+--16282--   Considering /lib/x86_64-linux-gnu/libm-2.27.so ..
+--16282--   .. CRC mismatch (computed 7feae033 wanted b29b2508)
+--16282--   Considering /usr/lib/debug/lib/x86_64-linux-gnu/libm-2.27.so ..
+--16282--   .. CRC is valid
+--16282-- Reading syms from /lib/x86_64-linux-gnu/libgcc_s.so.1
+--16282--    object doesn't have a symbol table
+--16282-- Reading syms from /lib/x86_64-linux-gnu/libc-2.27.so
+--16282--   Considering /lib/x86_64-linux-gnu/libc-2.27.so ..
+--16282--   .. CRC mismatch (computed b1c74187 wanted 042cc048)
+--16282--   Considering /usr/lib/debug/lib/x86_64-linux-gnu/libc-2.27.so ..
+--16282--   .. CRC is valid
+--16282-- Reading syms from /lib/x86_64-linux-gnu/libz.so.1.2.11
+--16282--    object doesn't have a symbol table
+--16282-- REDIR: 0x5a4bc70 (libc.so.6:memmove) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--16282-- REDIR: 0x5a4ad40 (libc.so.6:strncpy) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--16282-- REDIR: 0x5a4bf50 (libc.so.6:strcasecmp) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--16282-- REDIR: 0x5a4a790 (libc.so.6:strcat) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--16282-- REDIR: 0x5a4ad70 (libc.so.6:rindex) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--16282-- REDIR: 0x5a4d7c0 (libc.so.6:rawmemchr) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--16282-- REDIR: 0x5a4bde0 (libc.so.6:mempcpy) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--16282-- REDIR: 0x5a4bc10 (libc.so.6:bcmp) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--16282-- REDIR: 0x5a4ad00 (libc.so.6:strncmp) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--16282-- REDIR: 0x5a4a800 (libc.so.6:strcmp) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--16282-- REDIR: 0x5a4bd40 (libc.so.6:memset) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--16282-- REDIR: 0x5a690f0 (libc.so.6:wcschr) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--16282-- REDIR: 0x5a4aca0 (libc.so.6:strnlen) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--16282-- REDIR: 0x5a4a870 (libc.so.6:strcspn) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--16282-- REDIR: 0x5a4bfa0 (libc.so.6:strncasecmp) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--16282-- REDIR: 0x5a4a840 (libc.so.6:strcpy) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--16282-- REDIR: 0x5a4c0e0 (libc.so.6:memcpy@@GLIBC_2.14) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--16282-- REDIR: 0x5a4ada0 (libc.so.6:strpbrk) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--16282-- REDIR: 0x5a4a7c0 (libc.so.6:index) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--16282-- REDIR: 0x5a4ac70 (libc.so.6:strlen) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--16282-- REDIR: 0x5a556c0 (libc.so.6:memrchr) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--16282-- REDIR: 0x5a4bff0 (libc.so.6:strcasecmp_l) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--16282-- REDIR: 0x5a4bbe0 (libc.so.6:memchr) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--16282-- REDIR: 0x5a69eb0 (libc.so.6:wcslen) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--16282-- REDIR: 0x5a4b050 (libc.so.6:strspn) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--16282-- REDIR: 0x5a4bf20 (libc.so.6:stpncpy) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--16282-- REDIR: 0x5a4bef0 (libc.so.6:stpcpy) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--16282-- REDIR: 0x5a4d7f0 (libc.so.6:strchrnul) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--16282-- REDIR: 0x5a4c040 (libc.so.6:strncasecmp_l) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--16282-- REDIR: 0x5ade8a0 (libc.so.6:__memcpy_chk) redirected to 0x4a2a6e0 (_vgnU_ifunc_wrapper)
+--16282-- REDIR: 0x5b3b3c0 (libc.so.6:__strrchr_avx2) redirected to 0x4c32730 (rindex)
+--16282-- REDIR: 0x5a44070 (libc.so.6:malloc) redirected to 0x4c2faa0 (malloc)
+--16282-- REDIR: 0x5b3b590 (libc.so.6:__strlen_avx2) redirected to 0x4c32cf0 (strlen)
+--16282-- REDIR: 0x5b37ba0 (libc.so.6:__memcmp_avx2_movbe) redirected to 0x4c35e00 (bcmp)
+--16282-- REDIR: 0x5b16d60 (libc.so.6:__strcmp_ssse3) redirected to 0x4c33da0 (strcmp)
+--16282-- REDIR: 0x5101190 (libstdc++.so.6:operator new(unsigned long)) redirected to 0x4c30110 (operator new(unsigned long))
+--16282-- REDIR: 0x5b3bad0 (libc.so.6:__memcpy_avx_unaligned_erms) redirected to 0x4c366e0 (memmove)
+--16282-- REDIR: 0x5a4b590 (libc.so.6:__GI_strstr) redirected to 0x4c37760 (__strstr_sse2)
+--16282-- REDIR: 0x5b3bab0 (libc.so.6:__mempcpy_avx_unaligned_erms) redirected to 0x4c37130 (mempcpy)
+--16282-- REDIR: 0x50ff2e0 (libstdc++.so.6:operator delete(void*)) redirected to 0x4c311d0 (operator delete(void*))
+--16282-- REDIR: 0x5b3bf50 (libc.so.6:__memset_avx2_unaligned_erms) redirected to 0x4c365d0 (memset)
+--16282-- REDIR: 0x5a44950 (libc.so.6:free) redirected to 0x4c30cd0 (free)
+--16282-- REDIR: 0x50ff310 (libstdc++.so.6:operator delete[](void*)) redirected to 0x4c316d0 (operator delete[](void*))
+==16282== Mismatched free() / delete / delete []
+==16282==    at 0x4C3173B: operator delete[](void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
+==16282==    by 0x10F4CB: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
+==16282==  Address 0x5fccc80 is 0 bytes inside a block of size 48 alloc'd
+==16282==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
+==16282==    by 0x10EC86: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
+==16282== 
+==16282== 
+==16282== HEAP SUMMARY:
+==16282==     in use at exit: 0 bytes in 0 blocks
+==16282==   total heap usage: 858 allocs, 858 frees, 560,582 bytes allocated
+==16282== 
+==16282== All heap blocks were freed -- no leaks are possible
+==16282== 
+==16282== ERROR SUMMARY: 8 errors from 1 contexts (suppressed: 0 from 0)
+==16282== 
+==16282== 8 errors in context 1 of 1:
+==16282== Mismatched free() / delete / delete []
+==16282==    at 0x4C3173B: operator delete[](void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
+==16282==    by 0x10F4CB: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
+==16282==  Address 0x5fccc80 is 0 bytes inside a block of size 48 alloc'd
+==16282==    at 0x4C3017F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
+==16282==    by 0x10EC86: main (in /home/acheroufkebir/PAP/pap_ray_tracing_final/main)
+==16282== 
+==16282== ERROR SUMMARY: 8 errors from 1 contexts (suppressed: 0 from 0)
-- 
GitLab