aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsotech117 <michael_foiani@brown.edu>2023-12-13 13:47:44 -0500
committersotech117 <michael_foiani@brown.edu>2023-12-13 13:47:44 -0500
commit33a1cdc3532d145944b00a4ca03fd01d4d5b9532 (patch)
tree833760d85ed92c39c1f9ffbd591dde4cf619689e
parent4fb06778c1a19914c759ab5db495754b1fd9e2c3 (diff)
get the collision detections for cubes and sphers to work using specific cases of separate axis theorem. however, the velocities are no longer flipping.
-rw-r--r--cmake-build-debug/.ninja_depsbin374244 -> 388940 bytes
-rw-r--r--cmake-build-debug/.ninja_log15
-rw-r--r--cmake-build-debug/CMakeFiles/projects_ray_autogen.dir/ParseCache.txt14
-rw-r--r--cmake-build-debug/Testing/Temporary/LastTest.log4
-rwxr-xr-xcmake-build-debug/projects_raybin1791273 -> 1791977 bytes
-rw-r--r--cmake-build-debug/t/0051.pngbin10240 -> 10898 bytes
-rw-r--r--cmake-build-debug/t/0052.pngbin7111 -> 11034 bytes
-rw-r--r--cmake-build-debug/t/0053.pngbin5001 -> 10240 bytes
-rw-r--r--cmake-build-debug/t/0054.pngbin5001 -> 8874 bytes
-rw-r--r--cmake-build-debug/t/0055.pngbin5001 -> 7887 bytes
-rw-r--r--cmake-build-debug/t/0056.pngbin5001 -> 7111 bytes
-rw-r--r--cmake-build-debug/t/0057.pngbin5001 -> 5952 bytes
-rw-r--r--cmake-build-release/.ninja_depsbin301176 -> 359020 bytes
-rw-r--r--cmake-build-release/.ninja_log79
-rw-r--r--cmake-build-release/Testing/Temporary/LastTest.log4
-rwxr-xr-xcmake-build-release/projects_raybin355625 -> 372761 bytes
-rw-r--r--cmake-build-release/t/0000.pngbin824 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0001.pngbin824 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0002.pngbin824 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0003.pngbin824 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0004.pngbin824 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0005.pngbin1362 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0006.pngbin1858 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0007.pngbin2424 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0008.pngbin2759 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0009.pngbin3179 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0010.pngbin3381 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0011.pngbin3749 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0012.pngbin4069 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0013.pngbin4392 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0014.pngbin4552 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0015.pngbin4846 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0016.pngbin5031 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0017.pngbin5232 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0018.pngbin5407 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0019.pngbin5793 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0020.pngbin6146 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0021.pngbin6598 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0022.pngbin6810 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0023.pngbin7182 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0024.pngbin7500 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0025.pngbin7802 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0026.pngbin7907 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0027.pngbin7967 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0028.pngbin8035 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0029.pngbin7965 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0030.pngbin7808 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0031.pngbin7573 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0032.pngbin7468 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0033.pngbin7140 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0034.pngbin6995 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0035.pngbin7115 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0036.pngbin7544 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0037.pngbin7883 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0038.pngbin8157 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0039.pngbin8702 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0040.pngbin9335 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0041.pngbin9713 -> 3167 bytes
-rw-r--r--cmake-build-release/t/0042.pngbin10184 -> 3424 bytes
-rw-r--r--cmake-build-release/t/0043.pngbin10565 -> 3694 bytes
-rw-r--r--cmake-build-release/t/0044.pngbin11070 -> 3975 bytes
-rw-r--r--cmake-build-release/t/0045.pngbin11133 -> 4337 bytes
-rw-r--r--cmake-build-release/t/0046.pngbin11245 -> 4246 bytes
-rw-r--r--cmake-build-release/t/0047.pngbin11154 -> 4127 bytes
-rw-r--r--cmake-build-release/t/0048.pngbin11175 -> 4006 bytes
-rw-r--r--cmake-build-release/t/0049.pngbin10932 -> 3988 bytes
-rw-r--r--cmake-build-release/t/0050.pngbin11086 -> 3873 bytes
-rw-r--r--cmake-build-release/t/0051.pngbin10531 -> 3855 bytes
-rw-r--r--cmake-build-release/t/0052.pngbin10029 -> 3807 bytes
-rw-r--r--cmake-build-release/t/0053.pngbin9485 -> 3738 bytes
-rw-r--r--cmake-build-release/t/0054.pngbin8399 -> 3716 bytes
-rw-r--r--cmake-build-release/t/0055.pngbin6735 -> 3721 bytes
-rw-r--r--cmake-build-release/t/0056.pngbin5291 -> 3763 bytes
-rw-r--r--cmake-build-release/t/0057.pngbin3834 -> 3540 bytes
-rw-r--r--cmake-build-release/t/0058.pngbin2803 -> 3443 bytes
-rw-r--r--cmake-build-release/t/0059.pngbin2405 -> 3224 bytes
-rw-r--r--cmake-build-release/t/0060.pngbin2230 -> 3152 bytes
-rw-r--r--cmake-build-release/t/0061.pngbin1970 -> 3127 bytes
-rw-r--r--cmake-build-release/t/0062.pngbin1838 -> 3171 bytes
-rw-r--r--cmake-build-release/t/0063.pngbin1281 -> 3223 bytes
-rw-r--r--cmake-build-release/t/0064.pngbin824 -> 3136 bytes
-rw-r--r--cmake-build-release/t/0065.pngbin824 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0066.pngbin824 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0067.pngbin824 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0068.pngbin824 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0069.pngbin824 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0070.pngbin824 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0071.pngbin824 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0072.pngbin824 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0073.pngbin824 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0074.pngbin824 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0075.pngbin824 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0076.pngbin824 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0077.pngbin824 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0078.pngbin824 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0079.pngbin824 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0080.pngbin824 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0081.pngbin824 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0082.pngbin824 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0083.pngbin824 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0084.pngbin824 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0085.pngbin824 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0086.pngbin824 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0087.pngbin824 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0088.pngbin824 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0089.pngbin824 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0090.pngbin824 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0091.pngbin824 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0092.pngbin824 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0093.pngbin824 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0094.pngbin824 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0095.pngbin824 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0096.pngbin824 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0097.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0098.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0099.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0100.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0101.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0102.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0103.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0104.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0105.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0106.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0107.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0108.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0109.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0110.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0111.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0112.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0113.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0114.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0115.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0116.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0117.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0118.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0119.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0120.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0121.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0122.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0123.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0124.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0125.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0126.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0127.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0128.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0129.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0130.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0131.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0132.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0133.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0134.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0135.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0136.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0137.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0138.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0139.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0140.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0141.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0142.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0143.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0144.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0145.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0146.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0147.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0148.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0149.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0150.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0151.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0152.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0153.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0154.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0155.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0156.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0157.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0158.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0159.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0160.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0161.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0162.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0163.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0164.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0165.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0166.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0167.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0168.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0169.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0170.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0171.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0172.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0173.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0174.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0175.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0176.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0177.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0178.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0179.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/0180.pngbin5001 -> 2930 bytes
-rw-r--r--cmake-build-release/t/good.mp4bin165112 -> 0 bytes
-rw-r--r--cmake-build-release/t/video.mp4bin0 -> 29649 bytes
-rw-r--r--scenefiles-4d/cube_cube_collision.json66
-rw-r--r--scenefiles-4d/cube_sphere_collision.json66
-rw-r--r--scenefiles-4d/five_shapes.json7
-rw-r--r--scenefiles-4d/unit_cube.json14
-rw-r--r--src/intersect/normals.cpp9
-rw-r--r--src/physics/physics.cpp138
-rw-r--r--src/raytracer/raytracer.cpp2
206 files changed, 333 insertions, 85 deletions
diff --git a/cmake-build-debug/.ninja_deps b/cmake-build-debug/.ninja_deps
index 1ca2b40..f6a7fec 100644
--- a/cmake-build-debug/.ninja_deps
+++ b/cmake-build-debug/.ninja_deps
Binary files differ
diff --git a/cmake-build-debug/.ninja_log b/cmake-build-debug/.ninja_log
index 685dc50..429cb1e 100644
--- a/cmake-build-debug/.ninja_log
+++ b/cmake-build-debug/.ninja_log
@@ -74,3 +74,18 @@
6 33 1702464988627122049 /Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/cmake-build-debug/projects_ray_autogen/mocs_compilation.cpp d580242d2b9854b3
36 385 1702464988976504214 CMakeFiles/projects_ray.dir/src/physics/physics.cpp.o 834a2b4cd58f4bc0
385 500 1702464989092420764 projects_ray 86ae0811ba2c2c7e
+9 38 1702479083966379711 projects_ray_autogen/timestamp d580242d2b9854b3
+9 38 1702479083966379711 projects_ray_autogen/mocs_compilation.cpp d580242d2b9854b3
+9 38 1702479083966379711 /Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/cmake-build-debug/projects_ray_autogen/timestamp d580242d2b9854b3
+9 38 1702479083966379711 /Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/cmake-build-debug/projects_ray_autogen/mocs_compilation.cpp d580242d2b9854b3
+42 425 1702479084350114782 CMakeFiles/projects_ray.dir/src/physics/physics.cpp.o 834a2b4cd58f4bc0
+42 807 1702479084729594037 CMakeFiles/projects_ray.dir/src/intersect/normals.cpp.o f9c9e1c96d11334b
+42 816 1702479084739396620 CMakeFiles/projects_ray.dir/src/intersect/intersect.cpp.o 46167bd837be2b2a
+42 1291 1702479085212892849 CMakeFiles/projects_ray.dir/src/raytracer/raytracer.cpp.o 78383fd2d33d7c09
+1291 1406 1702479085332510630 projects_ray 86ae0811ba2c2c7e
+6 34 1702479173168446542 projects_ray_autogen/timestamp d580242d2b9854b3
+6 34 1702479173168446542 projects_ray_autogen/mocs_compilation.cpp d580242d2b9854b3
+6 34 1702479173168446542 /Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/cmake-build-debug/projects_ray_autogen/timestamp d580242d2b9854b3
+6 34 1702479173168446542 /Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/cmake-build-debug/projects_ray_autogen/mocs_compilation.cpp d580242d2b9854b3
+37 371 1702479173503387529 CMakeFiles/projects_ray.dir/src/physics/physics.cpp.o 834a2b4cd58f4bc0
+371 480 1702479173612853561 projects_ray 86ae0811ba2c2c7e
diff --git a/cmake-build-debug/CMakeFiles/projects_ray_autogen.dir/ParseCache.txt b/cmake-build-debug/CMakeFiles/projects_ray_autogen.dir/ParseCache.txt
index 26628ad..2feb068 100644
--- a/cmake-build-debug/CMakeFiles/projects_ray_autogen.dir/ParseCache.txt
+++ b/cmake-build-debug/CMakeFiles/projects_ray_autogen.dir/ParseCache.txt
@@ -4,10 +4,10 @@
/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/4dvecops/transform4d.cpp
/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/physics/physics.h
/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/aliasing/filter.cpp
-/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/illuminate/shadow.cpp
+/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/accelerate/myqtconcurrent.cpp
/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/settings.h
+/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/illuminate/shadow.cpp
/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/utils/sceneparser.cpp
-/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/accelerate/myqtconcurrent.cpp
/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/vec4ops/vec4ops.h
/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/camera/camera.h
/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/4dvecops/vec4ops.h
@@ -1722,15 +1722,15 @@
mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtWidgets.framework/Versions/A/Headers/qwidget.h
/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/accelerate/kdtree.cpp
/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/settings.cpp
-/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/vec4ops/transform4d.cpp
/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/intersect/normals.cpp
-/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/mainwindow.cpp
-/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/intersect/intersect.cpp
-/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/raytracer/raytracescene.cpp
+/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/vec4ops/transform4d.cpp
/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/illuminate/reflect.cpp
+/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/raytracer/raytracescene.cpp
+/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/intersect/intersect.cpp
+/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/mainwindow.cpp
+/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/utils/scenefilereader.cpp
/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/utils/raytracerutils.cpp
/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/raytracer/raytracer.cpp
-/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/utils/scenefilereader.cpp
/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/utils/scenefilereader.h
/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/texture/texture.cpp
/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/illuminate/illuminate.cpp
diff --git a/cmake-build-debug/Testing/Temporary/LastTest.log b/cmake-build-debug/Testing/Temporary/LastTest.log
index 59ca1bc..d4b869d 100644
--- a/cmake-build-debug/Testing/Temporary/LastTest.log
+++ b/cmake-build-debug/Testing/Temporary/LastTest.log
@@ -1,3 +1,3 @@
-Start testing: Dec 13 05:56 EST
+Start testing: Dec 13 09:52 EST
----------------------------------------------------------
-End testing: Dec 13 05:56 EST
+End testing: Dec 13 09:52 EST
diff --git a/cmake-build-debug/projects_ray b/cmake-build-debug/projects_ray
index 5656d31..39520b6 100755
--- a/cmake-build-debug/projects_ray
+++ b/cmake-build-debug/projects_ray
Binary files differ
diff --git a/cmake-build-debug/t/0051.png b/cmake-build-debug/t/0051.png
index 82c2295..d5bf016 100644
--- a/cmake-build-debug/t/0051.png
+++ b/cmake-build-debug/t/0051.png
Binary files differ
diff --git a/cmake-build-debug/t/0052.png b/cmake-build-debug/t/0052.png
index 287a7bd..9d075d9 100644
--- a/cmake-build-debug/t/0052.png
+++ b/cmake-build-debug/t/0052.png
Binary files differ
diff --git a/cmake-build-debug/t/0053.png b/cmake-build-debug/t/0053.png
index 6c4130c..82c2295 100644
--- a/cmake-build-debug/t/0053.png
+++ b/cmake-build-debug/t/0053.png
Binary files differ
diff --git a/cmake-build-debug/t/0054.png b/cmake-build-debug/t/0054.png
index 6c4130c..76f0f23 100644
--- a/cmake-build-debug/t/0054.png
+++ b/cmake-build-debug/t/0054.png
Binary files differ
diff --git a/cmake-build-debug/t/0055.png b/cmake-build-debug/t/0055.png
index 6c4130c..aa1e20e 100644
--- a/cmake-build-debug/t/0055.png
+++ b/cmake-build-debug/t/0055.png
Binary files differ
diff --git a/cmake-build-debug/t/0056.png b/cmake-build-debug/t/0056.png
index 6c4130c..287a7bd 100644
--- a/cmake-build-debug/t/0056.png
+++ b/cmake-build-debug/t/0056.png
Binary files differ
diff --git a/cmake-build-debug/t/0057.png b/cmake-build-debug/t/0057.png
index 6c4130c..8f42fec 100644
--- a/cmake-build-debug/t/0057.png
+++ b/cmake-build-debug/t/0057.png
Binary files differ
diff --git a/cmake-build-release/.ninja_deps b/cmake-build-release/.ninja_deps
index c8614ca..3336346 100644
--- a/cmake-build-release/.ninja_deps
+++ b/cmake-build-release/.ninja_deps
Binary files differ
diff --git a/cmake-build-release/.ninja_log b/cmake-build-release/.ninja_log
index e1587c3..376b80a 100644
--- a/cmake-build-release/.ninja_log
+++ b/cmake-build-release/.ninja_log
@@ -1,17 +1,17 @@
# ninja log v5
-38 397 1702464636540853590 CMakeFiles/projects_ray.dir/src/physics/physics.cpp.o d5828f7344b43f3f
2073 3450 1702462517657027523 CMakeFiles/projects_ray.dir/src/accelerate/myqtconcurrent.cpp.o 202e3ecc659447bc
1339 2073 1702462516281240152 CMakeFiles/projects_ray.dir/src/illuminate/shadow.cpp.o 976dc05943374640
1827 2585 1702462516791291975 CMakeFiles/projects_ray.dir/src/aliasing/filter.cpp.o 9dee6d99978c214
1615 2318 1702462516525793547 CMakeFiles/projects_ray.dir/src/aliasing/supersample.cpp.o 856523a4b6d122f7
+41 434 1702492773344593555 CMakeFiles/projects_ray.dir/src/physics/physics.cpp.o d5828f7344b43f3f
675 2432 1702446595224556920 CMakeFiles/projects_ray.dir/src/utils/scenefilereader.cpp.o 5dbf3687fca6fb
1501 2218 1702462516425466564 CMakeFiles/projects_ray.dir/src/accelerate/myqthreads.cpp.o 1275de63f43c05f3
1602 2264 1702462516471699727 CMakeFiles/projects_ray.dir/src/utils/raytracerutils.cpp.o 2155c0e78af65352
-397 505 1702464636649395126 projects_ray 3c6678764a94cd8d
-7 35 1702464636180568675 /Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/cmake-build-release/projects_ray_autogen/timestamp 55fca76aac650d2f
+434 543 1702492773454628299 projects_ray 3c6678764a94cd8d
+6 38 1702492772950469701 /Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/cmake-build-release/projects_ray_autogen/timestamp 55fca76aac650d2f
39 763 1702463675404819921 CMakeFiles/projects_ray.dir/src/illuminate/illuminate.cpp.o 36fb1526130d4f10
-830 1615 1702462515822103088 CMakeFiles/projects_ray.dir/src/intersect/intersect.cpp.o d2b1593379e5dcda
-37 1200 1702463942447916255 CMakeFiles/projects_ray.dir/src/raytracer/raytracer.cpp.o 19b4d88ef40a6db1
+37 705 1702476734667828050 CMakeFiles/projects_ray.dir/src/intersect/intersect.cpp.o d2b1593379e5dcda
+38 1201 1702477387597302759 CMakeFiles/projects_ray.dir/src/raytracer/raytracer.cpp.o 19b4d88ef40a6db1
1992 2343 1702462516552200253 CMakeFiles/projects_ray.dir/src/vec4ops/vec4ops.cpp.o d7fc6a03a78a11b2
439 1359 1702462515565289355 CMakeFiles/projects_ray.dir/src/utils/sceneparser.cpp.o e6ffba0ae97d5386
407 631 1702452577188925730 CMakeFiles/projects_ray.dir/src/settings.cpp.o af593dd8c38f8a51
@@ -19,57 +19,32 @@
2092 2885 1702462517093496918 CMakeFiles/projects_ray.dir/src/accelerate/bvh.cpp.o 58a267a27bf597a8
38 932 1702463675573687879 CMakeFiles/projects_ray.dir/src/mainwindow.cpp.o 8a94e9f3bb65e6ba
39 165 1702463674808123565 CMakeFiles/projects_ray.dir/src/vec4ops/transform4d.cpp.o 7e5d8f712f75efb4
-438 1210 1702462515415388730 CMakeFiles/projects_ray.dir/src/intersect/normals.cpp.o dc9fbf174942b6a6
+36 672 1702476793942504595 CMakeFiles/projects_ray.dir/src/intersect/normals.cpp.o dc9fbf174942b6a6
1359 2077 1702462516285286127 CMakeFiles/projects_ray.dir/src/texture/texture.cpp.o ee619672f0183b37
437 1601 1702462515805754359 CMakeFiles/projects_ray.dir/src/main.cpp.o 94fb23c1a8b2c56c
38 804 1702463675446226154 CMakeFiles/projects_ray.dir/projects_ray_autogen/mocs_compilation.cpp.o 1ad68196f2f117c1
2218 2872 1702462517080832082 CMakeFiles/projects_ray.dir/src/vec4ops/rotations4d.cpp.o cad2614c6119bd5e
-7 35 1702464636180568675 /Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/cmake-build-release/projects_ray_autogen/mocs_compilation.cpp 55fca76aac650d2f
+6 38 1702492772950469701 /Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/cmake-build-release/projects_ray_autogen/mocs_compilation.cpp 55fca76aac650d2f
1344 2092 1702462516300411446 CMakeFiles/projects_ray.dir/src/illuminate/reflect.cpp.o 899987bee3f68062
-7 35 1702464636180568675 projects_ray_autogen/mocs_compilation.cpp 55fca76aac650d2f
+6 38 1702492772950469701 projects_ray_autogen/mocs_compilation.cpp 55fca76aac650d2f
438 1344 1702462515545535814 CMakeFiles/projects_ray.dir/src/raytracer/raytracescene.cpp.o 4a558d7c0ab76c07
2077 2851 1702462517058646265 CMakeFiles/projects_ray.dir/src/accelerate/kdtree.cpp.o cef03b69fda1011b
-7 35 1702464636180568675 projects_ray_autogen/timestamp 55fca76aac650d2f
-7 37 1702464855556574876 projects_ray_autogen/timestamp 55fca76aac650d2f
-7 37 1702464855556574876 projects_ray_autogen/mocs_compilation.cpp 55fca76aac650d2f
-7 37 1702464855556574876 /Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/cmake-build-release/projects_ray_autogen/timestamp 55fca76aac650d2f
-7 37 1702464855556574876 /Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/cmake-build-release/projects_ray_autogen/mocs_compilation.cpp 55fca76aac650d2f
-40 382 1702464855899595200 CMakeFiles/projects_ray.dir/src/physics/physics.cpp.o d5828f7344b43f3f
-382 503 1702464856021637589 projects_ray 3c6678764a94cd8d
-7 36 1702464992226344998 projects_ray_autogen/timestamp 55fca76aac650d2f
-7 36 1702464992226344998 projects_ray_autogen/mocs_compilation.cpp 55fca76aac650d2f
-7 36 1702464992226344998 /Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/cmake-build-release/projects_ray_autogen/timestamp 55fca76aac650d2f
-7 36 1702464992226344998 /Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/cmake-build-release/projects_ray_autogen/mocs_compilation.cpp 55fca76aac650d2f
-39 409 1702464992597429036 CMakeFiles/projects_ray.dir/src/physics/physics.cpp.o d5828f7344b43f3f
-409 519 1702464992707871087 projects_ray 3c6678764a94cd8d
-6 35 1702465057075152473 projects_ray_autogen/timestamp 55fca76aac650d2f
-6 35 1702465057075152473 projects_ray_autogen/mocs_compilation.cpp 55fca76aac650d2f
-6 35 1702465057075152473 /Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/cmake-build-release/projects_ray_autogen/timestamp 55fca76aac650d2f
-6 35 1702465057075152473 /Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/cmake-build-release/projects_ray_autogen/mocs_compilation.cpp 55fca76aac650d2f
-38 388 1702465057425065475 CMakeFiles/projects_ray.dir/src/physics/physics.cpp.o d5828f7344b43f3f
-38 1212 1702465058247656082 CMakeFiles/projects_ray.dir/src/raytracer/raytracer.cpp.o 19b4d88ef40a6db1
-1213 1316 1702465058354470688 projects_ray 3c6678764a94cd8d
-6 34 1702465108961701302 projects_ray_autogen/timestamp 55fca76aac650d2f
-6 34 1702465108961701302 projects_ray_autogen/mocs_compilation.cpp 55fca76aac650d2f
-6 34 1702465108961701302 /Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/cmake-build-release/projects_ray_autogen/timestamp 55fca76aac650d2f
-6 34 1702465108961701302 /Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/cmake-build-release/projects_ray_autogen/mocs_compilation.cpp 55fca76aac650d2f
-37 379 1702465109304681709 CMakeFiles/projects_ray.dir/src/physics/physics.cpp.o d5828f7344b43f3f
-379 483 1702465109409509551 projects_ray 3c6678764a94cd8d
-6 34 1702465694393062213 projects_ray_autogen/timestamp 55fca76aac650d2f
-6 34 1702465694393062213 projects_ray_autogen/mocs_compilation.cpp 55fca76aac650d2f
-6 34 1702465694393062213 /Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/cmake-build-release/projects_ray_autogen/timestamp 55fca76aac650d2f
-6 34 1702465694393062213 /Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/cmake-build-release/projects_ray_autogen/mocs_compilation.cpp 55fca76aac650d2f
-37 1178 1702465695532090590 CMakeFiles/projects_ray.dir/src/raytracer/raytracer.cpp.o 19b4d88ef40a6db1
-1178 1291 1702465695648478663 projects_ray 3c6678764a94cd8d
-6 40 1702465811778560461 projects_ray_autogen/timestamp 55fca76aac650d2f
-6 40 1702465811778560461 projects_ray_autogen/mocs_compilation.cpp 55fca76aac650d2f
-6 40 1702465811778560461 /Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/cmake-build-release/projects_ray_autogen/timestamp 55fca76aac650d2f
-6 40 1702465811778560461 /Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/cmake-build-release/projects_ray_autogen/mocs_compilation.cpp 55fca76aac650d2f
-44 1267 1702465813001509441 CMakeFiles/projects_ray.dir/src/raytracer/raytracer.cpp.o 19b4d88ef40a6db1
-1267 1374 1702465813111609696 projects_ray 3c6678764a94cd8d
-5 32 1702465903086369682 projects_ray_autogen/timestamp 55fca76aac650d2f
-5 32 1702465903086369682 projects_ray_autogen/mocs_compilation.cpp 55fca76aac650d2f
-5 32 1702465903086369682 /Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/cmake-build-release/projects_ray_autogen/timestamp 55fca76aac650d2f
-5 32 1702465903086369682 /Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/cmake-build-release/projects_ray_autogen/mocs_compilation.cpp 55fca76aac650d2f
-35 1194 1702465904243353084 CMakeFiles/projects_ray.dir/src/raytracer/raytracer.cpp.o 19b4d88ef40a6db1
-1195 1302 1702465904354504018 projects_ray 3c6678764a94cd8d
+6 38 1702492772950469701 projects_ray_autogen/timestamp 55fca76aac650d2f
+6 37 1702492849499685290 projects_ray_autogen/timestamp 55fca76aac650d2f
+6 37 1702492849499685290 projects_ray_autogen/mocs_compilation.cpp 55fca76aac650d2f
+6 37 1702492849499685290 /Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/cmake-build-release/projects_ray_autogen/timestamp 55fca76aac650d2f
+6 37 1702492849499685290 /Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/cmake-build-release/projects_ray_autogen/mocs_compilation.cpp 55fca76aac650d2f
+40 404 1702492849864146522 CMakeFiles/projects_ray.dir/src/physics/physics.cpp.o d5828f7344b43f3f
+404 508 1702492849969703016 projects_ray 3c6678764a94cd8d
+6 34 1702493046971209424 projects_ray_autogen/timestamp 55fca76aac650d2f
+6 34 1702493046971209424 projects_ray_autogen/mocs_compilation.cpp 55fca76aac650d2f
+6 34 1702493046971209424 /Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/cmake-build-release/projects_ray_autogen/timestamp 55fca76aac650d2f
+6 34 1702493046971209424 /Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/cmake-build-release/projects_ray_autogen/mocs_compilation.cpp 55fca76aac650d2f
+37 407 1702493047340508862 CMakeFiles/projects_ray.dir/src/physics/physics.cpp.o d5828f7344b43f3f
+407 515 1702493047449822690 projects_ray 3c6678764a94cd8d
+7 35 1702493201012953429 projects_ray_autogen/timestamp 55fca76aac650d2f
+7 35 1702493201012953429 projects_ray_autogen/mocs_compilation.cpp 55fca76aac650d2f
+7 35 1702493201012953429 /Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/cmake-build-release/projects_ray_autogen/timestamp 55fca76aac650d2f
+7 35 1702493201012953429 /Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/cmake-build-release/projects_ray_autogen/mocs_compilation.cpp 55fca76aac650d2f
+38 421 1702493201395841283 CMakeFiles/projects_ray.dir/src/physics/physics.cpp.o d5828f7344b43f3f
+421 529 1702493201504864444 projects_ray 3c6678764a94cd8d
diff --git a/cmake-build-release/Testing/Temporary/LastTest.log b/cmake-build-release/Testing/Temporary/LastTest.log
index cba285e..1e77404 100644
--- a/cmake-build-release/Testing/Temporary/LastTest.log
+++ b/cmake-build-release/Testing/Temporary/LastTest.log
@@ -1,3 +1,3 @@
-Start testing: Dec 13 06:11 EST
+Start testing: Dec 13 13:46 EST
----------------------------------------------------------
-End testing: Dec 13 06:11 EST
+End testing: Dec 13 13:46 EST
diff --git a/cmake-build-release/projects_ray b/cmake-build-release/projects_ray
index 8023a91..291d5a2 100755
--- a/cmake-build-release/projects_ray
+++ b/cmake-build-release/projects_ray
Binary files differ
diff --git a/cmake-build-release/t/0000.png b/cmake-build-release/t/0000.png
index 615555a..d875135 100644
--- a/cmake-build-release/t/0000.png
+++ b/cmake-build-release/t/0000.png
Binary files differ
diff --git a/cmake-build-release/t/0001.png b/cmake-build-release/t/0001.png
index 615555a..d875135 100644
--- a/cmake-build-release/t/0001.png
+++ b/cmake-build-release/t/0001.png
Binary files differ
diff --git a/cmake-build-release/t/0002.png b/cmake-build-release/t/0002.png
index 615555a..d875135 100644
--- a/cmake-build-release/t/0002.png
+++ b/cmake-build-release/t/0002.png
Binary files differ
diff --git a/cmake-build-release/t/0003.png b/cmake-build-release/t/0003.png
index 615555a..d875135 100644
--- a/cmake-build-release/t/0003.png
+++ b/cmake-build-release/t/0003.png
Binary files differ
diff --git a/cmake-build-release/t/0004.png b/cmake-build-release/t/0004.png
index 615555a..d875135 100644
--- a/cmake-build-release/t/0004.png
+++ b/cmake-build-release/t/0004.png
Binary files differ
diff --git a/cmake-build-release/t/0005.png b/cmake-build-release/t/0005.png
index b1e3804..d875135 100644
--- a/cmake-build-release/t/0005.png
+++ b/cmake-build-release/t/0005.png
Binary files differ
diff --git a/cmake-build-release/t/0006.png b/cmake-build-release/t/0006.png
index d125290..d875135 100644
--- a/cmake-build-release/t/0006.png
+++ b/cmake-build-release/t/0006.png
Binary files differ
diff --git a/cmake-build-release/t/0007.png b/cmake-build-release/t/0007.png
index d500595..d875135 100644
--- a/cmake-build-release/t/0007.png
+++ b/cmake-build-release/t/0007.png
Binary files differ
diff --git a/cmake-build-release/t/0008.png b/cmake-build-release/t/0008.png
index 1ffd943..d875135 100644
--- a/cmake-build-release/t/0008.png
+++ b/cmake-build-release/t/0008.png
Binary files differ
diff --git a/cmake-build-release/t/0009.png b/cmake-build-release/t/0009.png
index e4b241d..d875135 100644
--- a/cmake-build-release/t/0009.png
+++ b/cmake-build-release/t/0009.png
Binary files differ
diff --git a/cmake-build-release/t/0010.png b/cmake-build-release/t/0010.png
index 9aee883..d875135 100644
--- a/cmake-build-release/t/0010.png
+++ b/cmake-build-release/t/0010.png
Binary files differ
diff --git a/cmake-build-release/t/0011.png b/cmake-build-release/t/0011.png
index 441d9fa..d875135 100644
--- a/cmake-build-release/t/0011.png
+++ b/cmake-build-release/t/0011.png
Binary files differ
diff --git a/cmake-build-release/t/0012.png b/cmake-build-release/t/0012.png
index d9bc283..d875135 100644
--- a/cmake-build-release/t/0012.png
+++ b/cmake-build-release/t/0012.png
Binary files differ
diff --git a/cmake-build-release/t/0013.png b/cmake-build-release/t/0013.png
index cfbbdf0..d875135 100644
--- a/cmake-build-release/t/0013.png
+++ b/cmake-build-release/t/0013.png
Binary files differ
diff --git a/cmake-build-release/t/0014.png b/cmake-build-release/t/0014.png
index 6fca356..d875135 100644
--- a/cmake-build-release/t/0014.png
+++ b/cmake-build-release/t/0014.png
Binary files differ
diff --git a/cmake-build-release/t/0015.png b/cmake-build-release/t/0015.png
index efbf522..d875135 100644
--- a/cmake-build-release/t/0015.png
+++ b/cmake-build-release/t/0015.png
Binary files differ
diff --git a/cmake-build-release/t/0016.png b/cmake-build-release/t/0016.png
index 8d86a4b..d875135 100644
--- a/cmake-build-release/t/0016.png
+++ b/cmake-build-release/t/0016.png
Binary files differ
diff --git a/cmake-build-release/t/0017.png b/cmake-build-release/t/0017.png
index 952c632..d875135 100644
--- a/cmake-build-release/t/0017.png
+++ b/cmake-build-release/t/0017.png
Binary files differ
diff --git a/cmake-build-release/t/0018.png b/cmake-build-release/t/0018.png
index 7f66a23..d875135 100644
--- a/cmake-build-release/t/0018.png
+++ b/cmake-build-release/t/0018.png
Binary files differ
diff --git a/cmake-build-release/t/0019.png b/cmake-build-release/t/0019.png
index 552a245..d875135 100644
--- a/cmake-build-release/t/0019.png
+++ b/cmake-build-release/t/0019.png
Binary files differ
diff --git a/cmake-build-release/t/0020.png b/cmake-build-release/t/0020.png
index 1b035ad..d875135 100644
--- a/cmake-build-release/t/0020.png
+++ b/cmake-build-release/t/0020.png
Binary files differ
diff --git a/cmake-build-release/t/0021.png b/cmake-build-release/t/0021.png
index 3acbfce..d875135 100644
--- a/cmake-build-release/t/0021.png
+++ b/cmake-build-release/t/0021.png
Binary files differ
diff --git a/cmake-build-release/t/0022.png b/cmake-build-release/t/0022.png
index 4a5d1a2..d875135 100644
--- a/cmake-build-release/t/0022.png
+++ b/cmake-build-release/t/0022.png
Binary files differ
diff --git a/cmake-build-release/t/0023.png b/cmake-build-release/t/0023.png
index 073c2cc..d875135 100644
--- a/cmake-build-release/t/0023.png
+++ b/cmake-build-release/t/0023.png
Binary files differ
diff --git a/cmake-build-release/t/0024.png b/cmake-build-release/t/0024.png
index 8b4f1ed..d875135 100644
--- a/cmake-build-release/t/0024.png
+++ b/cmake-build-release/t/0024.png
Binary files differ
diff --git a/cmake-build-release/t/0025.png b/cmake-build-release/t/0025.png
index e329280..d875135 100644
--- a/cmake-build-release/t/0025.png
+++ b/cmake-build-release/t/0025.png
Binary files differ
diff --git a/cmake-build-release/t/0026.png b/cmake-build-release/t/0026.png
index e5c5e7b..d875135 100644
--- a/cmake-build-release/t/0026.png
+++ b/cmake-build-release/t/0026.png
Binary files differ
diff --git a/cmake-build-release/t/0027.png b/cmake-build-release/t/0027.png
index 2a5fb3d..d875135 100644
--- a/cmake-build-release/t/0027.png
+++ b/cmake-build-release/t/0027.png
Binary files differ
diff --git a/cmake-build-release/t/0028.png b/cmake-build-release/t/0028.png
index e124aa2..d875135 100644
--- a/cmake-build-release/t/0028.png
+++ b/cmake-build-release/t/0028.png
Binary files differ
diff --git a/cmake-build-release/t/0029.png b/cmake-build-release/t/0029.png
index c0eb5d2..d875135 100644
--- a/cmake-build-release/t/0029.png
+++ b/cmake-build-release/t/0029.png
Binary files differ
diff --git a/cmake-build-release/t/0030.png b/cmake-build-release/t/0030.png
index 8a6ebdb..d875135 100644
--- a/cmake-build-release/t/0030.png
+++ b/cmake-build-release/t/0030.png
Binary files differ
diff --git a/cmake-build-release/t/0031.png b/cmake-build-release/t/0031.png
index d7c7b7e..d875135 100644
--- a/cmake-build-release/t/0031.png
+++ b/cmake-build-release/t/0031.png
Binary files differ
diff --git a/cmake-build-release/t/0032.png b/cmake-build-release/t/0032.png
index f9bc207..d875135 100644
--- a/cmake-build-release/t/0032.png
+++ b/cmake-build-release/t/0032.png
Binary files differ
diff --git a/cmake-build-release/t/0033.png b/cmake-build-release/t/0033.png
index d432b1b..d875135 100644
--- a/cmake-build-release/t/0033.png
+++ b/cmake-build-release/t/0033.png
Binary files differ
diff --git a/cmake-build-release/t/0034.png b/cmake-build-release/t/0034.png
index 4c6ecc7..d875135 100644
--- a/cmake-build-release/t/0034.png
+++ b/cmake-build-release/t/0034.png
Binary files differ
diff --git a/cmake-build-release/t/0035.png b/cmake-build-release/t/0035.png
index ab55b8b..d875135 100644
--- a/cmake-build-release/t/0035.png
+++ b/cmake-build-release/t/0035.png
Binary files differ
diff --git a/cmake-build-release/t/0036.png b/cmake-build-release/t/0036.png
index c64cf37..d875135 100644
--- a/cmake-build-release/t/0036.png
+++ b/cmake-build-release/t/0036.png
Binary files differ
diff --git a/cmake-build-release/t/0037.png b/cmake-build-release/t/0037.png
index 1cb5f12..d875135 100644
--- a/cmake-build-release/t/0037.png
+++ b/cmake-build-release/t/0037.png
Binary files differ
diff --git a/cmake-build-release/t/0038.png b/cmake-build-release/t/0038.png
index f27657e..d875135 100644
--- a/cmake-build-release/t/0038.png
+++ b/cmake-build-release/t/0038.png
Binary files differ
diff --git a/cmake-build-release/t/0039.png b/cmake-build-release/t/0039.png
index a920bf1..d875135 100644
--- a/cmake-build-release/t/0039.png
+++ b/cmake-build-release/t/0039.png
Binary files differ
diff --git a/cmake-build-release/t/0040.png b/cmake-build-release/t/0040.png
index 50cba9c..d875135 100644
--- a/cmake-build-release/t/0040.png
+++ b/cmake-build-release/t/0040.png
Binary files differ
diff --git a/cmake-build-release/t/0041.png b/cmake-build-release/t/0041.png
index f576a25..0f7499c 100644
--- a/cmake-build-release/t/0041.png
+++ b/cmake-build-release/t/0041.png
Binary files differ
diff --git a/cmake-build-release/t/0042.png b/cmake-build-release/t/0042.png
index a59a1c0..6b70358 100644
--- a/cmake-build-release/t/0042.png
+++ b/cmake-build-release/t/0042.png
Binary files differ
diff --git a/cmake-build-release/t/0043.png b/cmake-build-release/t/0043.png
index 9a85cbb..daa5a3d 100644
--- a/cmake-build-release/t/0043.png
+++ b/cmake-build-release/t/0043.png
Binary files differ
diff --git a/cmake-build-release/t/0044.png b/cmake-build-release/t/0044.png
index 804fc8a..67d1403 100644
--- a/cmake-build-release/t/0044.png
+++ b/cmake-build-release/t/0044.png
Binary files differ
diff --git a/cmake-build-release/t/0045.png b/cmake-build-release/t/0045.png
index c350613..2ab76f4 100644
--- a/cmake-build-release/t/0045.png
+++ b/cmake-build-release/t/0045.png
Binary files differ
diff --git a/cmake-build-release/t/0046.png b/cmake-build-release/t/0046.png
index 8eed2f1..cc273ab 100644
--- a/cmake-build-release/t/0046.png
+++ b/cmake-build-release/t/0046.png
Binary files differ
diff --git a/cmake-build-release/t/0047.png b/cmake-build-release/t/0047.png
index b65fc17..d4c36ed 100644
--- a/cmake-build-release/t/0047.png
+++ b/cmake-build-release/t/0047.png
Binary files differ
diff --git a/cmake-build-release/t/0048.png b/cmake-build-release/t/0048.png
index 41e3812..dd317d0 100644
--- a/cmake-build-release/t/0048.png
+++ b/cmake-build-release/t/0048.png
Binary files differ
diff --git a/cmake-build-release/t/0049.png b/cmake-build-release/t/0049.png
index cdc9378..3958937 100644
--- a/cmake-build-release/t/0049.png
+++ b/cmake-build-release/t/0049.png
Binary files differ
diff --git a/cmake-build-release/t/0050.png b/cmake-build-release/t/0050.png
index 8ed6b06..6c1de4e 100644
--- a/cmake-build-release/t/0050.png
+++ b/cmake-build-release/t/0050.png
Binary files differ
diff --git a/cmake-build-release/t/0051.png b/cmake-build-release/t/0051.png
index 8c1479a..d208d11 100644
--- a/cmake-build-release/t/0051.png
+++ b/cmake-build-release/t/0051.png
Binary files differ
diff --git a/cmake-build-release/t/0052.png b/cmake-build-release/t/0052.png
index cca5e2b..e5b6144 100644
--- a/cmake-build-release/t/0052.png
+++ b/cmake-build-release/t/0052.png
Binary files differ
diff --git a/cmake-build-release/t/0053.png b/cmake-build-release/t/0053.png
index 000170c..7697055 100644
--- a/cmake-build-release/t/0053.png
+++ b/cmake-build-release/t/0053.png
Binary files differ
diff --git a/cmake-build-release/t/0054.png b/cmake-build-release/t/0054.png
index 97ab54b..ed2e8e5 100644
--- a/cmake-build-release/t/0054.png
+++ b/cmake-build-release/t/0054.png
Binary files differ
diff --git a/cmake-build-release/t/0055.png b/cmake-build-release/t/0055.png
index 41aa85c..340f724 100644
--- a/cmake-build-release/t/0055.png
+++ b/cmake-build-release/t/0055.png
Binary files differ
diff --git a/cmake-build-release/t/0056.png b/cmake-build-release/t/0056.png
index 35649ab..201314f 100644
--- a/cmake-build-release/t/0056.png
+++ b/cmake-build-release/t/0056.png
Binary files differ
diff --git a/cmake-build-release/t/0057.png b/cmake-build-release/t/0057.png
index 1509896..1e2b336 100644
--- a/cmake-build-release/t/0057.png
+++ b/cmake-build-release/t/0057.png
Binary files differ
diff --git a/cmake-build-release/t/0058.png b/cmake-build-release/t/0058.png
index 67baeff..c554a26 100644
--- a/cmake-build-release/t/0058.png
+++ b/cmake-build-release/t/0058.png
Binary files differ
diff --git a/cmake-build-release/t/0059.png b/cmake-build-release/t/0059.png
index 27dca95..fdb9a78 100644
--- a/cmake-build-release/t/0059.png
+++ b/cmake-build-release/t/0059.png
Binary files differ
diff --git a/cmake-build-release/t/0060.png b/cmake-build-release/t/0060.png
index 320b258..26275bf 100644
--- a/cmake-build-release/t/0060.png
+++ b/cmake-build-release/t/0060.png
Binary files differ
diff --git a/cmake-build-release/t/0061.png b/cmake-build-release/t/0061.png
index 8015c92..c111d20 100644
--- a/cmake-build-release/t/0061.png
+++ b/cmake-build-release/t/0061.png
Binary files differ
diff --git a/cmake-build-release/t/0062.png b/cmake-build-release/t/0062.png
index 37f74a1..f19aa06 100644
--- a/cmake-build-release/t/0062.png
+++ b/cmake-build-release/t/0062.png
Binary files differ
diff --git a/cmake-build-release/t/0063.png b/cmake-build-release/t/0063.png
index 6538c43..d141017 100644
--- a/cmake-build-release/t/0063.png
+++ b/cmake-build-release/t/0063.png
Binary files differ
diff --git a/cmake-build-release/t/0064.png b/cmake-build-release/t/0064.png
index 615555a..8a44e06 100644
--- a/cmake-build-release/t/0064.png
+++ b/cmake-build-release/t/0064.png
Binary files differ
diff --git a/cmake-build-release/t/0065.png b/cmake-build-release/t/0065.png
index 615555a..d875135 100644
--- a/cmake-build-release/t/0065.png
+++ b/cmake-build-release/t/0065.png
Binary files differ
diff --git a/cmake-build-release/t/0066.png b/cmake-build-release/t/0066.png
index 615555a..d875135 100644
--- a/cmake-build-release/t/0066.png
+++ b/cmake-build-release/t/0066.png
Binary files differ
diff --git a/cmake-build-release/t/0067.png b/cmake-build-release/t/0067.png
index 615555a..d875135 100644
--- a/cmake-build-release/t/0067.png
+++ b/cmake-build-release/t/0067.png
Binary files differ
diff --git a/cmake-build-release/t/0068.png b/cmake-build-release/t/0068.png
index 615555a..d875135 100644
--- a/cmake-build-release/t/0068.png
+++ b/cmake-build-release/t/0068.png
Binary files differ
diff --git a/cmake-build-release/t/0069.png b/cmake-build-release/t/0069.png
index 615555a..d875135 100644
--- a/cmake-build-release/t/0069.png
+++ b/cmake-build-release/t/0069.png
Binary files differ
diff --git a/cmake-build-release/t/0070.png b/cmake-build-release/t/0070.png
index 615555a..d875135 100644
--- a/cmake-build-release/t/0070.png
+++ b/cmake-build-release/t/0070.png
Binary files differ
diff --git a/cmake-build-release/t/0071.png b/cmake-build-release/t/0071.png
index 615555a..d875135 100644
--- a/cmake-build-release/t/0071.png
+++ b/cmake-build-release/t/0071.png
Binary files differ
diff --git a/cmake-build-release/t/0072.png b/cmake-build-release/t/0072.png
index 615555a..d875135 100644
--- a/cmake-build-release/t/0072.png
+++ b/cmake-build-release/t/0072.png
Binary files differ
diff --git a/cmake-build-release/t/0073.png b/cmake-build-release/t/0073.png
index 615555a..d875135 100644
--- a/cmake-build-release/t/0073.png
+++ b/cmake-build-release/t/0073.png
Binary files differ
diff --git a/cmake-build-release/t/0074.png b/cmake-build-release/t/0074.png
index 615555a..d875135 100644
--- a/cmake-build-release/t/0074.png
+++ b/cmake-build-release/t/0074.png
Binary files differ
diff --git a/cmake-build-release/t/0075.png b/cmake-build-release/t/0075.png
index 615555a..d875135 100644
--- a/cmake-build-release/t/0075.png
+++ b/cmake-build-release/t/0075.png
Binary files differ
diff --git a/cmake-build-release/t/0076.png b/cmake-build-release/t/0076.png
index 615555a..d875135 100644
--- a/cmake-build-release/t/0076.png
+++ b/cmake-build-release/t/0076.png
Binary files differ
diff --git a/cmake-build-release/t/0077.png b/cmake-build-release/t/0077.png
index 615555a..d875135 100644
--- a/cmake-build-release/t/0077.png
+++ b/cmake-build-release/t/0077.png
Binary files differ
diff --git a/cmake-build-release/t/0078.png b/cmake-build-release/t/0078.png
index 615555a..d875135 100644
--- a/cmake-build-release/t/0078.png
+++ b/cmake-build-release/t/0078.png
Binary files differ
diff --git a/cmake-build-release/t/0079.png b/cmake-build-release/t/0079.png
index 615555a..d875135 100644
--- a/cmake-build-release/t/0079.png
+++ b/cmake-build-release/t/0079.png
Binary files differ
diff --git a/cmake-build-release/t/0080.png b/cmake-build-release/t/0080.png
index 615555a..d875135 100644
--- a/cmake-build-release/t/0080.png
+++ b/cmake-build-release/t/0080.png
Binary files differ
diff --git a/cmake-build-release/t/0081.png b/cmake-build-release/t/0081.png
index 615555a..d875135 100644
--- a/cmake-build-release/t/0081.png
+++ b/cmake-build-release/t/0081.png
Binary files differ
diff --git a/cmake-build-release/t/0082.png b/cmake-build-release/t/0082.png
index 615555a..d875135 100644
--- a/cmake-build-release/t/0082.png
+++ b/cmake-build-release/t/0082.png
Binary files differ
diff --git a/cmake-build-release/t/0083.png b/cmake-build-release/t/0083.png
index 615555a..d875135 100644
--- a/cmake-build-release/t/0083.png
+++ b/cmake-build-release/t/0083.png
Binary files differ
diff --git a/cmake-build-release/t/0084.png b/cmake-build-release/t/0084.png
index 615555a..d875135 100644
--- a/cmake-build-release/t/0084.png
+++ b/cmake-build-release/t/0084.png
Binary files differ
diff --git a/cmake-build-release/t/0085.png b/cmake-build-release/t/0085.png
index 615555a..d875135 100644
--- a/cmake-build-release/t/0085.png
+++ b/cmake-build-release/t/0085.png
Binary files differ
diff --git a/cmake-build-release/t/0086.png b/cmake-build-release/t/0086.png
index 615555a..d875135 100644
--- a/cmake-build-release/t/0086.png
+++ b/cmake-build-release/t/0086.png
Binary files differ
diff --git a/cmake-build-release/t/0087.png b/cmake-build-release/t/0087.png
index 615555a..d875135 100644
--- a/cmake-build-release/t/0087.png
+++ b/cmake-build-release/t/0087.png
Binary files differ
diff --git a/cmake-build-release/t/0088.png b/cmake-build-release/t/0088.png
index 615555a..d875135 100644
--- a/cmake-build-release/t/0088.png
+++ b/cmake-build-release/t/0088.png
Binary files differ
diff --git a/cmake-build-release/t/0089.png b/cmake-build-release/t/0089.png
index 615555a..d875135 100644
--- a/cmake-build-release/t/0089.png
+++ b/cmake-build-release/t/0089.png
Binary files differ
diff --git a/cmake-build-release/t/0090.png b/cmake-build-release/t/0090.png
index 615555a..d875135 100644
--- a/cmake-build-release/t/0090.png
+++ b/cmake-build-release/t/0090.png
Binary files differ
diff --git a/cmake-build-release/t/0091.png b/cmake-build-release/t/0091.png
index 615555a..d875135 100644
--- a/cmake-build-release/t/0091.png
+++ b/cmake-build-release/t/0091.png
Binary files differ
diff --git a/cmake-build-release/t/0092.png b/cmake-build-release/t/0092.png
index 615555a..d875135 100644
--- a/cmake-build-release/t/0092.png
+++ b/cmake-build-release/t/0092.png
Binary files differ
diff --git a/cmake-build-release/t/0093.png b/cmake-build-release/t/0093.png
index 615555a..d875135 100644
--- a/cmake-build-release/t/0093.png
+++ b/cmake-build-release/t/0093.png
Binary files differ
diff --git a/cmake-build-release/t/0094.png b/cmake-build-release/t/0094.png
index 615555a..d875135 100644
--- a/cmake-build-release/t/0094.png
+++ b/cmake-build-release/t/0094.png
Binary files differ
diff --git a/cmake-build-release/t/0095.png b/cmake-build-release/t/0095.png
index 615555a..d875135 100644
--- a/cmake-build-release/t/0095.png
+++ b/cmake-build-release/t/0095.png
Binary files differ
diff --git a/cmake-build-release/t/0096.png b/cmake-build-release/t/0096.png
index 615555a..d875135 100644
--- a/cmake-build-release/t/0096.png
+++ b/cmake-build-release/t/0096.png
Binary files differ
diff --git a/cmake-build-release/t/0097.png b/cmake-build-release/t/0097.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0097.png
+++ b/cmake-build-release/t/0097.png
Binary files differ
diff --git a/cmake-build-release/t/0098.png b/cmake-build-release/t/0098.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0098.png
+++ b/cmake-build-release/t/0098.png
Binary files differ
diff --git a/cmake-build-release/t/0099.png b/cmake-build-release/t/0099.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0099.png
+++ b/cmake-build-release/t/0099.png
Binary files differ
diff --git a/cmake-build-release/t/0100.png b/cmake-build-release/t/0100.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0100.png
+++ b/cmake-build-release/t/0100.png
Binary files differ
diff --git a/cmake-build-release/t/0101.png b/cmake-build-release/t/0101.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0101.png
+++ b/cmake-build-release/t/0101.png
Binary files differ
diff --git a/cmake-build-release/t/0102.png b/cmake-build-release/t/0102.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0102.png
+++ b/cmake-build-release/t/0102.png
Binary files differ
diff --git a/cmake-build-release/t/0103.png b/cmake-build-release/t/0103.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0103.png
+++ b/cmake-build-release/t/0103.png
Binary files differ
diff --git a/cmake-build-release/t/0104.png b/cmake-build-release/t/0104.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0104.png
+++ b/cmake-build-release/t/0104.png
Binary files differ
diff --git a/cmake-build-release/t/0105.png b/cmake-build-release/t/0105.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0105.png
+++ b/cmake-build-release/t/0105.png
Binary files differ
diff --git a/cmake-build-release/t/0106.png b/cmake-build-release/t/0106.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0106.png
+++ b/cmake-build-release/t/0106.png
Binary files differ
diff --git a/cmake-build-release/t/0107.png b/cmake-build-release/t/0107.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0107.png
+++ b/cmake-build-release/t/0107.png
Binary files differ
diff --git a/cmake-build-release/t/0108.png b/cmake-build-release/t/0108.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0108.png
+++ b/cmake-build-release/t/0108.png
Binary files differ
diff --git a/cmake-build-release/t/0109.png b/cmake-build-release/t/0109.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0109.png
+++ b/cmake-build-release/t/0109.png
Binary files differ
diff --git a/cmake-build-release/t/0110.png b/cmake-build-release/t/0110.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0110.png
+++ b/cmake-build-release/t/0110.png
Binary files differ
diff --git a/cmake-build-release/t/0111.png b/cmake-build-release/t/0111.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0111.png
+++ b/cmake-build-release/t/0111.png
Binary files differ
diff --git a/cmake-build-release/t/0112.png b/cmake-build-release/t/0112.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0112.png
+++ b/cmake-build-release/t/0112.png
Binary files differ
diff --git a/cmake-build-release/t/0113.png b/cmake-build-release/t/0113.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0113.png
+++ b/cmake-build-release/t/0113.png
Binary files differ
diff --git a/cmake-build-release/t/0114.png b/cmake-build-release/t/0114.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0114.png
+++ b/cmake-build-release/t/0114.png
Binary files differ
diff --git a/cmake-build-release/t/0115.png b/cmake-build-release/t/0115.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0115.png
+++ b/cmake-build-release/t/0115.png
Binary files differ
diff --git a/cmake-build-release/t/0116.png b/cmake-build-release/t/0116.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0116.png
+++ b/cmake-build-release/t/0116.png
Binary files differ
diff --git a/cmake-build-release/t/0117.png b/cmake-build-release/t/0117.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0117.png
+++ b/cmake-build-release/t/0117.png
Binary files differ
diff --git a/cmake-build-release/t/0118.png b/cmake-build-release/t/0118.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0118.png
+++ b/cmake-build-release/t/0118.png
Binary files differ
diff --git a/cmake-build-release/t/0119.png b/cmake-build-release/t/0119.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0119.png
+++ b/cmake-build-release/t/0119.png
Binary files differ
diff --git a/cmake-build-release/t/0120.png b/cmake-build-release/t/0120.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0120.png
+++ b/cmake-build-release/t/0120.png
Binary files differ
diff --git a/cmake-build-release/t/0121.png b/cmake-build-release/t/0121.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0121.png
+++ b/cmake-build-release/t/0121.png
Binary files differ
diff --git a/cmake-build-release/t/0122.png b/cmake-build-release/t/0122.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0122.png
+++ b/cmake-build-release/t/0122.png
Binary files differ
diff --git a/cmake-build-release/t/0123.png b/cmake-build-release/t/0123.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0123.png
+++ b/cmake-build-release/t/0123.png
Binary files differ
diff --git a/cmake-build-release/t/0124.png b/cmake-build-release/t/0124.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0124.png
+++ b/cmake-build-release/t/0124.png
Binary files differ
diff --git a/cmake-build-release/t/0125.png b/cmake-build-release/t/0125.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0125.png
+++ b/cmake-build-release/t/0125.png
Binary files differ
diff --git a/cmake-build-release/t/0126.png b/cmake-build-release/t/0126.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0126.png
+++ b/cmake-build-release/t/0126.png
Binary files differ
diff --git a/cmake-build-release/t/0127.png b/cmake-build-release/t/0127.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0127.png
+++ b/cmake-build-release/t/0127.png
Binary files differ
diff --git a/cmake-build-release/t/0128.png b/cmake-build-release/t/0128.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0128.png
+++ b/cmake-build-release/t/0128.png
Binary files differ
diff --git a/cmake-build-release/t/0129.png b/cmake-build-release/t/0129.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0129.png
+++ b/cmake-build-release/t/0129.png
Binary files differ
diff --git a/cmake-build-release/t/0130.png b/cmake-build-release/t/0130.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0130.png
+++ b/cmake-build-release/t/0130.png
Binary files differ
diff --git a/cmake-build-release/t/0131.png b/cmake-build-release/t/0131.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0131.png
+++ b/cmake-build-release/t/0131.png
Binary files differ
diff --git a/cmake-build-release/t/0132.png b/cmake-build-release/t/0132.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0132.png
+++ b/cmake-build-release/t/0132.png
Binary files differ
diff --git a/cmake-build-release/t/0133.png b/cmake-build-release/t/0133.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0133.png
+++ b/cmake-build-release/t/0133.png
Binary files differ
diff --git a/cmake-build-release/t/0134.png b/cmake-build-release/t/0134.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0134.png
+++ b/cmake-build-release/t/0134.png
Binary files differ
diff --git a/cmake-build-release/t/0135.png b/cmake-build-release/t/0135.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0135.png
+++ b/cmake-build-release/t/0135.png
Binary files differ
diff --git a/cmake-build-release/t/0136.png b/cmake-build-release/t/0136.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0136.png
+++ b/cmake-build-release/t/0136.png
Binary files differ
diff --git a/cmake-build-release/t/0137.png b/cmake-build-release/t/0137.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0137.png
+++ b/cmake-build-release/t/0137.png
Binary files differ
diff --git a/cmake-build-release/t/0138.png b/cmake-build-release/t/0138.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0138.png
+++ b/cmake-build-release/t/0138.png
Binary files differ
diff --git a/cmake-build-release/t/0139.png b/cmake-build-release/t/0139.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0139.png
+++ b/cmake-build-release/t/0139.png
Binary files differ
diff --git a/cmake-build-release/t/0140.png b/cmake-build-release/t/0140.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0140.png
+++ b/cmake-build-release/t/0140.png
Binary files differ
diff --git a/cmake-build-release/t/0141.png b/cmake-build-release/t/0141.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0141.png
+++ b/cmake-build-release/t/0141.png
Binary files differ
diff --git a/cmake-build-release/t/0142.png b/cmake-build-release/t/0142.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0142.png
+++ b/cmake-build-release/t/0142.png
Binary files differ
diff --git a/cmake-build-release/t/0143.png b/cmake-build-release/t/0143.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0143.png
+++ b/cmake-build-release/t/0143.png
Binary files differ
diff --git a/cmake-build-release/t/0144.png b/cmake-build-release/t/0144.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0144.png
+++ b/cmake-build-release/t/0144.png
Binary files differ
diff --git a/cmake-build-release/t/0145.png b/cmake-build-release/t/0145.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0145.png
+++ b/cmake-build-release/t/0145.png
Binary files differ
diff --git a/cmake-build-release/t/0146.png b/cmake-build-release/t/0146.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0146.png
+++ b/cmake-build-release/t/0146.png
Binary files differ
diff --git a/cmake-build-release/t/0147.png b/cmake-build-release/t/0147.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0147.png
+++ b/cmake-build-release/t/0147.png
Binary files differ
diff --git a/cmake-build-release/t/0148.png b/cmake-build-release/t/0148.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0148.png
+++ b/cmake-build-release/t/0148.png
Binary files differ
diff --git a/cmake-build-release/t/0149.png b/cmake-build-release/t/0149.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0149.png
+++ b/cmake-build-release/t/0149.png
Binary files differ
diff --git a/cmake-build-release/t/0150.png b/cmake-build-release/t/0150.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0150.png
+++ b/cmake-build-release/t/0150.png
Binary files differ
diff --git a/cmake-build-release/t/0151.png b/cmake-build-release/t/0151.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0151.png
+++ b/cmake-build-release/t/0151.png
Binary files differ
diff --git a/cmake-build-release/t/0152.png b/cmake-build-release/t/0152.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0152.png
+++ b/cmake-build-release/t/0152.png
Binary files differ
diff --git a/cmake-build-release/t/0153.png b/cmake-build-release/t/0153.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0153.png
+++ b/cmake-build-release/t/0153.png
Binary files differ
diff --git a/cmake-build-release/t/0154.png b/cmake-build-release/t/0154.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0154.png
+++ b/cmake-build-release/t/0154.png
Binary files differ
diff --git a/cmake-build-release/t/0155.png b/cmake-build-release/t/0155.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0155.png
+++ b/cmake-build-release/t/0155.png
Binary files differ
diff --git a/cmake-build-release/t/0156.png b/cmake-build-release/t/0156.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0156.png
+++ b/cmake-build-release/t/0156.png
Binary files differ
diff --git a/cmake-build-release/t/0157.png b/cmake-build-release/t/0157.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0157.png
+++ b/cmake-build-release/t/0157.png
Binary files differ
diff --git a/cmake-build-release/t/0158.png b/cmake-build-release/t/0158.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0158.png
+++ b/cmake-build-release/t/0158.png
Binary files differ
diff --git a/cmake-build-release/t/0159.png b/cmake-build-release/t/0159.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0159.png
+++ b/cmake-build-release/t/0159.png
Binary files differ
diff --git a/cmake-build-release/t/0160.png b/cmake-build-release/t/0160.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0160.png
+++ b/cmake-build-release/t/0160.png
Binary files differ
diff --git a/cmake-build-release/t/0161.png b/cmake-build-release/t/0161.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0161.png
+++ b/cmake-build-release/t/0161.png
Binary files differ
diff --git a/cmake-build-release/t/0162.png b/cmake-build-release/t/0162.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0162.png
+++ b/cmake-build-release/t/0162.png
Binary files differ
diff --git a/cmake-build-release/t/0163.png b/cmake-build-release/t/0163.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0163.png
+++ b/cmake-build-release/t/0163.png
Binary files differ
diff --git a/cmake-build-release/t/0164.png b/cmake-build-release/t/0164.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0164.png
+++ b/cmake-build-release/t/0164.png
Binary files differ
diff --git a/cmake-build-release/t/0165.png b/cmake-build-release/t/0165.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0165.png
+++ b/cmake-build-release/t/0165.png
Binary files differ
diff --git a/cmake-build-release/t/0166.png b/cmake-build-release/t/0166.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0166.png
+++ b/cmake-build-release/t/0166.png
Binary files differ
diff --git a/cmake-build-release/t/0167.png b/cmake-build-release/t/0167.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0167.png
+++ b/cmake-build-release/t/0167.png
Binary files differ
diff --git a/cmake-build-release/t/0168.png b/cmake-build-release/t/0168.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0168.png
+++ b/cmake-build-release/t/0168.png
Binary files differ
diff --git a/cmake-build-release/t/0169.png b/cmake-build-release/t/0169.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0169.png
+++ b/cmake-build-release/t/0169.png
Binary files differ
diff --git a/cmake-build-release/t/0170.png b/cmake-build-release/t/0170.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0170.png
+++ b/cmake-build-release/t/0170.png
Binary files differ
diff --git a/cmake-build-release/t/0171.png b/cmake-build-release/t/0171.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0171.png
+++ b/cmake-build-release/t/0171.png
Binary files differ
diff --git a/cmake-build-release/t/0172.png b/cmake-build-release/t/0172.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0172.png
+++ b/cmake-build-release/t/0172.png
Binary files differ
diff --git a/cmake-build-release/t/0173.png b/cmake-build-release/t/0173.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0173.png
+++ b/cmake-build-release/t/0173.png
Binary files differ
diff --git a/cmake-build-release/t/0174.png b/cmake-build-release/t/0174.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0174.png
+++ b/cmake-build-release/t/0174.png
Binary files differ
diff --git a/cmake-build-release/t/0175.png b/cmake-build-release/t/0175.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0175.png
+++ b/cmake-build-release/t/0175.png
Binary files differ
diff --git a/cmake-build-release/t/0176.png b/cmake-build-release/t/0176.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0176.png
+++ b/cmake-build-release/t/0176.png
Binary files differ
diff --git a/cmake-build-release/t/0177.png b/cmake-build-release/t/0177.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0177.png
+++ b/cmake-build-release/t/0177.png
Binary files differ
diff --git a/cmake-build-release/t/0178.png b/cmake-build-release/t/0178.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0178.png
+++ b/cmake-build-release/t/0178.png
Binary files differ
diff --git a/cmake-build-release/t/0179.png b/cmake-build-release/t/0179.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0179.png
+++ b/cmake-build-release/t/0179.png
Binary files differ
diff --git a/cmake-build-release/t/0180.png b/cmake-build-release/t/0180.png
index 6c4130c..d875135 100644
--- a/cmake-build-release/t/0180.png
+++ b/cmake-build-release/t/0180.png
Binary files differ
diff --git a/cmake-build-release/t/good.mp4 b/cmake-build-release/t/good.mp4
deleted file mode 100644
index dba2fe6..0000000
--- a/cmake-build-release/t/good.mp4
+++ /dev/null
Binary files differ
diff --git a/cmake-build-release/t/video.mp4 b/cmake-build-release/t/video.mp4
new file mode 100644
index 0000000..7ea9af5
--- /dev/null
+++ b/cmake-build-release/t/video.mp4
Binary files differ
diff --git a/scenefiles-4d/cube_cube_collision.json b/scenefiles-4d/cube_cube_collision.json
new file mode 100644
index 0000000..14867fb
--- /dev/null
+++ b/scenefiles-4d/cube_cube_collision.json
@@ -0,0 +1,66 @@
+{
+ "name": "root",
+ "globalData": {
+ "ambientCoeff": 0.5,
+ "diffuseCoeff": 0.5,
+ "specularCoeff": 0.5,
+ "transparentCoeff": 0,
+ "gravity": [0.0, -0.0098, 0.0, 0.0]
+ },
+ "cameraData": {
+ "position": [3.0, 3.0, 3.0, 3.0],
+ "up": [0.0, 1.0, 0.0, 0.0],
+ "heightAngle": 30.0,
+ "depthAngle": 30.0,
+ "focus": [0.0, 0.0, 0.0, 0.0],
+ "over": [0.0, 0.0, 0.0, 1.0]
+ },
+ "groups": [
+ {
+ "lights": [
+ {
+ "type": "directional",
+ "color": [1.0, 1.0, 1.0],
+ "direction": [0.0, -1.0, 0.0, 0.0]
+ },
+ {
+ "type": "directional",
+ "color": [1.0, 1.0, 1.0],
+ "direction": [1.0, 1.0, 3.0, 3.0]
+ }
+ ]
+ },
+ {
+ "groups": [
+ {
+ "translate": [-1.0, 0.0, 0.0, 0.0],
+ "rotate": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "scale": [1.0, 1.0, 1.0, 1.0],
+ "primitives": [
+ {
+ "type": "cube",
+ "diffuse": [1.0, 0.0, 0.0],
+ "specular": [1.0, 1.0, 1.0],
+ "shininess": 25.0,
+ "velocity": [0.0, 0.0, 0.0, 0.0]
+ }
+ ]
+ },
+ {
+ "translate": [5.0, 0.0, 0.0, 5.0],
+ "rotate": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "scale": [1.0, 1.0, 1.0, 1.0],
+ "primitives": [
+ {
+ "type": "cube",
+ "diffuse": [0.0, 1.0, 0.0],
+ "specular": [1.0, 1.0, 1.0],
+ "shininess": 25.0,
+ "velocity": [-0.1, 0.0, 0.0, -0.1]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/scenefiles-4d/cube_sphere_collision.json b/scenefiles-4d/cube_sphere_collision.json
new file mode 100644
index 0000000..dad0721
--- /dev/null
+++ b/scenefiles-4d/cube_sphere_collision.json
@@ -0,0 +1,66 @@
+{
+ "name": "root",
+ "globalData": {
+ "ambientCoeff": 0.5,
+ "diffuseCoeff": 0.5,
+ "specularCoeff": 0.5,
+ "transparentCoeff": 0,
+ "gravity": [0.0, -0.0098, 0.0, 0.0]
+ },
+ "cameraData": {
+ "position": [3.0, 3.0, 3.0, 3.0],
+ "up": [0.0, 1.0, 0.0, 0.0],
+ "heightAngle": 30.0,
+ "depthAngle": 30.0,
+ "focus": [0.0, 0.0, 0.0, 0.0],
+ "over": [0.0, 0.0, 0.0, 1.0]
+ },
+ "groups": [
+ {
+ "lights": [
+ {
+ "type": "directional",
+ "color": [1.0, 1.0, 1.0],
+ "direction": [0.0, -1.0, 0.0, 0.0]
+ },
+ {
+ "type": "directional",
+ "color": [1.0, 1.0, 1.0],
+ "direction": [1.0, 1.0, 3.0, 3.0]
+ }
+ ]
+ },
+ {
+ "groups": [
+ {
+ "translate": [-1.0, 0.0, 0.0, 0.0],
+ "rotate": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "scale": [1.0, 1.0, 1.0, 1.0],
+ "primitives": [
+ {
+ "type": "cube",
+ "diffuse": [1.0, 0.0, 0.0],
+ "specular": [1.0, 1.0, 1.0],
+ "shininess": 25.0,
+ "velocity": [0.0, 0.0, 0.0, 0.0]
+ }
+ ]
+ },
+ {
+ "translate": [5.0, 0.0, 0.0, 5.0],
+ "rotate": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
+ "scale": [1.0, 1.0, 1.0, 1.0],
+ "primitives": [
+ {
+ "type": "sphere",
+ "diffuse": [0.0, 1.0, 0.0],
+ "specular": [1.0, 1.0, 1.0],
+ "shininess": 25.0,
+ "velocity": [-0.1, 0.0, 0.0, -0.1]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/scenefiles-4d/five_shapes.json b/scenefiles-4d/five_shapes.json
index c6c6645..4a49ef2 100644
--- a/scenefiles-4d/five_shapes.json
+++ b/scenefiles-4d/five_shapes.json
@@ -20,7 +20,12 @@
{
"type": "directional",
"color": [1.0, 1.0, 1.0],
- "direction": [-3.0, -2.0, -1.0]
+ "direction": [-3.0, 2.0, -1.0, 1.0]
+ },
+ {
+ "type": "directional",
+ "color": [1.0, 1.0, 1.0],
+ "direction": [3.0, -2.0, -3.0, 1.0]
}
]
},
diff --git a/scenefiles-4d/unit_cube.json b/scenefiles-4d/unit_cube.json
index 6b1ee6f..b21615a 100644
--- a/scenefiles-4d/unit_cube.json
+++ b/scenefiles-4d/unit_cube.json
@@ -21,7 +21,17 @@
{
"type": "directional",
"color": [1.0, 1.0, 1.0],
- "direction": [-3.0, -2.0, -1.0, 0.0]
+ "direction": [3.0, 3.0, 3.0, 3.0]
+ },
+ {
+ "type": "directional",
+ "color": [1.0, 0.0, 0.0],
+ "direction": [3.0, -3.0, 3.0, -3.0]
+ },
+ {
+ "type": "directional",
+ "color": [0.0, 0.0, 1.0],
+ "direction": [-3.0, 3.0, 3.0, -3.0]
}
]
},
@@ -34,7 +44,7 @@
"primitives": [
{
"type": "cube",
- "diffuse": [1.0, 0.0, 0.0],
+ "diffuse": [1.0, 0.0, 1.0],
"specular": [1.0, 1.0, 1.0],
"shininess": 25.0,
"velocity": [0.0, 0.0, 0.0, 0.0]
diff --git a/src/intersect/normals.cpp b/src/intersect/normals.cpp
index 84db534..f9b0ea1 100644
--- a/src/intersect/normals.cpp
+++ b/src/intersect/normals.cpp
@@ -2,6 +2,7 @@
// Created by Michael Foiani on 11/4/23.
//
+#include <iostream>
#include "raytracer/raytracer.h"
glm::vec4 getConeNormal(
@@ -11,7 +12,7 @@ glm::vec4 getConeNormal(
{
return {0.f, -1.f, 0.f, 0.f};
}
- if (RayTracer::floatEquals(intersectPointObject[3], -.5f)) // normal for w base
+ if (RayTracer::floatEquals(intersectPointObject.w, -.5f)) // normal for w base
{
return {0.f, 0.f, 0.f, -1.f};
}
@@ -19,7 +20,7 @@ glm::vec4 getConeNormal(
{
return {0.f, 1.f, 0.f, 0.f};
}
- if (RayTracer::floatEquals(intersectPointObject[3], .5f)) // normal for w top
+ if (RayTracer::floatEquals(intersectPointObject.w, .5f)) // normal for w top
{
return {0.f, 0.f, 0.f, 1.f};
}
@@ -81,11 +82,11 @@ glm::vec4 getCubeNormal(
{
return {0.f, 0.f, 1.f, 0.f};
}
- if (RayTracer::floatEquals(intersectPointObject[3], -.5f)) // neg w
+ if (RayTracer::floatEquals(intersectPointObject.w, -.5f)) // neg w
{
return {0.f, 0.f, 0.f, -1.f};
}
- if (RayTracer::floatEquals(intersectPointObject[3], .5f)) // pos w
+ if (RayTracer::floatEquals(intersectPointObject.w, .5f)) // pos w
{
return {0.f, 0.f, 0.f, 1.f};
}
diff --git a/src/physics/physics.cpp b/src/physics/physics.cpp
index 6b95bbe..111c25a 100644
--- a/src/physics/physics.cpp
+++ b/src/physics/physics.cpp
@@ -4,10 +4,94 @@
#include <iostream>
#include "physics.h"
-bool Physics::checkForSphereCollision(RenderShapeData &currentShape, RenderShapeData &shape)
+bool sphereCube(RenderShapeData &sphere, RenderShapeData &cube)
{
- glm::vec4 currentCenter = currentShape.translation4d;
- glm::vec4 shapeCenter = shape.translation4d;
+ // get center of cube
+ glm::vec4 cubeCenter = cube.translation4d;
+ // get the width, height, depth, & yawl of cube's box
+ glm::vec4 cubeScales = glm::vec4(cube.ctm[0][0], cube.ctm[1][1], cube.ctm[2][2], cube.ctm[3][3]);
+
+ // note: assumption that cube is axis aligned
+ glm::vec4 maxes = cubeCenter + cubeScales / 2.f;
+ glm::vec4 mins = cubeCenter - cubeScales / 2.f;
+
+ // get the center of sphere
+ glm::vec4 sphereCenter = sphere.translation4d;
+ // get radius of sphere
+ // note: assumption that sphere is not scaled (TODO: make radius adaptive)
+ float radius = .5f;
+
+ // hit detection algorithm
+ float distSquared = radius * radius;
+ if (sphereCenter.x < mins.x) distSquared -= (sphereCenter.x - mins.x)*(sphereCenter.x - mins.x);
+ else if (sphereCenter.x > maxes.x) distSquared -= (sphereCenter.x - maxes.x)*(sphereCenter.x - maxes.x);
+ if (sphereCenter.y < mins.y) distSquared -= (sphereCenter.y - mins.y)*(sphereCenter.y - mins.y);
+ else if (sphereCenter.y > maxes.y) distSquared -= (sphereCenter.y - maxes.y)*(sphereCenter.y - maxes.y);
+ if (sphereCenter.z < mins.z) distSquared -= (sphereCenter.z - mins.z)*(sphereCenter.z - mins.z);
+ else if (sphereCenter.z > maxes.z) distSquared -= (sphereCenter.z - maxes.z)*(sphereCenter.z - maxes.z);
+ if (sphereCenter.w < mins.w) distSquared -= (sphereCenter.w - mins.w)*(sphereCenter.w - mins.w);
+ else if (sphereCenter.w > maxes.w) distSquared -= (sphereCenter.w - maxes.w)*(sphereCenter.w - maxes.w);
+
+ if (distSquared > 0) {
+ std::cout << "distanceSquared: " << distSquared << std::endl;
+
+ // update velocity of the objects, based on math, assuming the objects are the same mass
+ sphere.velocity *= -1.f;
+ cube.velocity *= -1.f;
+
+ // move the objects in new dir so they don't collide again
+ sphere.translation4d += sphere.velocity;
+ cube.translation4d += cube.velocity;
+ }
+
+ return distSquared > 0;
+}
+
+bool cubeCube(RenderShapeData &c1, RenderShapeData &c2) {
+ // get the width, height, depth, & yawl of cubes boxes
+ glm::vec4 cube1Scales = glm::vec4(c1.ctm[0][0], c1.ctm[1][1], c1.ctm[2][2], c1.ctm[3][3]);
+ glm::vec4 cube2Scales = glm::vec4(c2.ctm[0][0], c2.ctm[1][1], c2.ctm[2][2], c2.ctm[3][3]);
+
+ // get the center of cubes
+ glm::vec4 cube1Center = c1.translation4d;
+ glm::vec4 cube2Center = c2.translation4d;
+
+ // note: assumption that cube is axis aligned
+ glm::vec4 cube1Maxes = cube1Center + cube1Scales / 2.f;
+ glm::vec4 cube1Mins = cube1Center - cube1Scales / 2.f;
+ glm::vec4 cube2Maxes = cube2Center + cube2Scales / 2.f;
+ glm::vec4 cube2Mins = cube2Center - cube2Scales / 2.f;
+
+ // hit detection algorithm
+ // see if x overlap
+ bool xOverlap = cube1Maxes.x >= cube2Mins.x && cube1Mins.x <= cube2Maxes.x;
+ // see if y overlap
+ bool yOverlap = cube1Maxes.y >= cube2Mins.y && cube1Mins.y <= cube2Maxes.y;
+ // see if z overlap
+ bool zOverlap = cube1Maxes.z >= cube2Mins.z && cube1Mins.z <= cube2Maxes.z;
+ // see if w overlap
+ bool wOverlap = cube1Maxes.w >= cube2Mins.w && cube1Mins.w <= cube2Maxes.w;
+
+ bool intersect = xOverlap && yOverlap && zOverlap && wOverlap;
+ if (intersect) {
+ std::cout << "intersect: " << intersect << std::endl;
+
+ // update velocity of the objects, based on math, assuming the objects are the same mass
+ c1.velocity *= -1.f;
+ c1.velocity *= -1.f;
+
+ // move the objects in new dir so they don't collide again
+ c1.translation4d += c2.velocity;
+ c1.translation4d += c2.velocity;
+ }
+
+ return intersect;
+}
+
+bool sphereSphere(RenderShapeData &s1, RenderShapeData &s2)
+{
+ glm::vec4 currentCenter = s1.translation4d;
+ glm::vec4 shapeCenter = s2.translation4d;
// define a radius vector
float radius = .5;
float distance = glm::distance(currentCenter, shapeCenter);
@@ -17,14 +101,33 @@ bool Physics::checkForSphereCollision(RenderShapeData &currentShape, RenderShape
// update velocity
if (distance <= radius + radius)
{
- currentShape.velocity *= -1.f;
- // move a little in other direction so it doesn't flip again
- currentShape.translation4d += currentShape.velocity;
+ std::cout << "distance: " << distance << std::endl;
+ s1.velocity *= -1.f;
+ s2.velocity *= -1.f;
+
+ // move the objects in new dir so they don't collide again
+ s1.translation4d += s1.velocity;
+ s2.translation4d += s2.velocity;
}
return distance <= radius + radius;
}
+bool Physics::checkForSphereCollision(RenderShapeData &currentShape, RenderShapeData &otherShape)
+{
+ switch (otherShape.primitive.type)
+ {
+ case PrimitiveType::PRIMITIVE_CUBE:
+ return sphereCube(currentShape, otherShape);
+ case PrimitiveType::PRIMITIVE_SPHERE:
+ return sphereSphere(currentShape, otherShape);
+ default:
+ break;
+ }
+
+ return false;
+}
+
bool Physics::checkForConeCollision(RenderShapeData &currentShape, RenderShapeData &shape)
{
return false;
@@ -35,20 +138,27 @@ bool Physics::checkForCylinderCollision(RenderShapeData &currentShape, RenderSha
return false;
}
-bool Physics::checkForCubeCollision(RenderShapeData &currentShape, RenderShapeData &shape)
+bool Physics::checkForCubeCollision(RenderShapeData &currentShape, RenderShapeData &otherShape)
{
- return false;
+ switch (otherShape.primitive.type)
+ {
+ case PrimitiveType::PRIMITIVE_CUBE:
+ return cubeCube(currentShape, otherShape);
+ case PrimitiveType::PRIMITIVE_SPHERE:
+ return sphereCube(otherShape, currentShape);
+ default:
+ break;
+ }
}
void Physics::handleCollisions(std::vector<RenderShapeData> &shapes) {
- for (auto &shape : shapes)
+ for (int i = 0; i < shapes.size(); i++)
{
- for (auto &otherShape : shapes)
+ auto shape = shapes[i];
+
+ for (int j = i + 1; j < shapes.size(); j++)
{
- if (shape.ctm == otherShape.ctm && shape.translation4d == otherShape.translation4d)
- {
- continue;
- }
+ auto otherShape = shapes[j];
switch (shape.primitive.type)
{
case PrimitiveType::PRIMITIVE_CONE:
diff --git a/src/raytracer/raytracer.cpp b/src/raytracer/raytracer.cpp
index 3db0faa..71a1c7f 100644
--- a/src/raytracer/raytracer.cpp
+++ b/src/raytracer/raytracer.cpp
@@ -52,7 +52,7 @@ void RayTracer::render(RGBA *imageData, const RayTraceScene &scene) {
if (settings.currentTime < settings.maxTime) { // still more to render
// render the next frame
settings.currentTime++;
- settings.w++;
+// settings.w++;
// update physics
Physics::updateShapePositions(m_metaData.shapes);