bug fishes
|
@ -71,3 +71,18 @@
|
|||
1342 1428 1666147894956961753 Step_2 ba935c9c2d26b32e
|
||||
1 1075 1666147964142379106 CMakeFiles/Step_2.dir/src/world.cpp.o 528709b06ba304b9
|
||||
1075 1160 1666147964226380888 Step_2 ba935c9c2d26b32e
|
||||
1 1176 1666150252074198441 CMakeFiles/Step_2.dir/src/math/colliders.cpp.o 961741316937a4a5
|
||||
1 1337 1666150252238202725 CMakeFiles/Step_2.dir/src/raytracing.cpp.o f57e640d9f276756
|
||||
2 1516 1666150252414207323 CMakeFiles/Step_2.dir/src/world.cpp.o 528709b06ba304b9
|
||||
2 1600 1666150252498209517 CMakeFiles/Step_2.dir/src/util/models.cpp.o 507adcdc012771a9
|
||||
1 1939 1666150252838218400 CMakeFiles/Step_2.dir/src/main.cpp.o 6490b92c9a765459
|
||||
1939 2028 1666150252926220698 Step_2 ba935c9c2d26b32e
|
||||
1 1187 1666150651777081346 CMakeFiles/Step_2.dir/src/raytracing.cpp.o f57e640d9f276756
|
||||
1 1367 1666150651957086402 CMakeFiles/Step_2.dir/src/util/models.cpp.o 507adcdc012771a9
|
||||
2 1369 1666150651957086402 CMakeFiles/Step_2.dir/src/world.cpp.o 528709b06ba304b9
|
||||
1 1539 1666150652129091231 CMakeFiles/Step_2.dir/src/main.cpp.o 6490b92c9a765459
|
||||
1539 1627 1666150652217093702 Step_2 ba935c9c2d26b32e
|
||||
1 902 1666150926996912836 CMakeFiles/Step_2.dir/src/raytracing.cpp.o f57e640d9f276756
|
||||
1 1036 1666150927132916751 CMakeFiles/Step_2.dir/src/world.cpp.o 528709b06ba304b9
|
||||
1 1260 1666150927356923195 CMakeFiles/Step_2.dir/src/main.cpp.o 6490b92c9a765459
|
||||
1260 1355 1666150927448925842 Step_2 ba935c9c2d26b32e
|
||||
|
|
After Width: | Height: | Size: 81 KiB |
|
@ -1,3 +1,3 @@
|
|||
Start testing: Oct 18 22:52 EDT
|
||||
Start testing: Oct 18 23:42 EDT
|
||||
----------------------------------------------------------
|
||||
End testing: Oct 18 22:52 EDT
|
||||
End testing: Oct 18 23:42 EDT
|
||||
|
|
|
@ -5,3 +5,80 @@
|
|||
872 910 1665980922483063320 Step_2 91a91bee2cf74815
|
||||
1 880 1665979635969200880 CMakeFiles/Step_2.dir/src/world.cpp.o 713f22c63a585103
|
||||
0 2189 1665979637277239946 CMakeFiles/Step_2.dir/src/image/image.cpp.o 4d16c0d3199b9aa8
|
||||
1 1112 1666150207401038752 CMakeFiles/Step_2.dir/src/globals.cpp.o 5fc3599d89d4b8a2
|
||||
9 1179 1666150207469040507 CMakeFiles/Step_2.dir/src/math/colliders.cpp.o 7957915dde476a69
|
||||
9 1216 1666150207509041538 CMakeFiles/Step_2.dir/src/raytracing.cpp.o e78f62563fb6428
|
||||
9 1453 1666150207745047625 CMakeFiles/Step_2.dir/src/util/debug.cpp.o e1fa95ca3d6a9ce2
|
||||
10 1688 1666150207981053713 CMakeFiles/Step_2.dir/src/util/models.cpp.o 12734a9214cf8718
|
||||
10 1796 1666150208085056398 CMakeFiles/Step_2.dir/src/util/parser.cpp.o 4bae007146d86363
|
||||
10 1827 1666150208117057223 CMakeFiles/Step_2.dir/src/world.cpp.o 713f22c63a585103
|
||||
8 2025 1666150208317062382 CMakeFiles/Step_2.dir/src/main.cpp.o 387235f0a298f257
|
||||
1 2595 1666150208885077037 CMakeFiles/Step_2.dir/src/image/image.cpp.o 4d16c0d3199b9aa8
|
||||
2595 2636 1666150208925078071 Step_2 2fd6ed1a72fdaa11
|
||||
1 1374 1666150235217759135 CMakeFiles/Step_2.dir/src/world.cpp.o 713f22c63a585103
|
||||
1374 1416 1666150235261760279 Step_2 2fd6ed1a72fdaa11
|
||||
1 1185 1666150291559235224 CMakeFiles/Step_2.dir/src/util/models.cpp.o 12734a9214cf8718
|
||||
1185 1226 1666150291599236279 Step_2 2fd6ed1a72fdaa11
|
||||
0 1115 1666150303207543067 CMakeFiles/Step_2.dir/src/util/models.cpp.o 12734a9214cf8718
|
||||
1115 1156 1666150303251544231 Step_2 2fd6ed1a72fdaa11
|
||||
0 1094 1666150346056682795 CMakeFiles/Step_2.dir/src/util/models.cpp.o 12734a9214cf8718
|
||||
1094 1138 1666150346100683971 Step_2 2fd6ed1a72fdaa11
|
||||
1 1243 1666150573742900456 CMakeFiles/Step_2.dir/src/world.cpp.o 713f22c63a585103
|
||||
1243 1284 1666150573782901569 Step_2 2fd6ed1a72fdaa11
|
||||
0 890 1666150633180559711 CMakeFiles/Step_2.dir/src/raytracing.cpp.o e78f62563fb6428
|
||||
0 1275 1666150633564570471 CMakeFiles/Step_2.dir/src/world.cpp.o 713f22c63a585103
|
||||
0 1343 1666150633632572375 CMakeFiles/Step_2.dir/src/main.cpp.o 387235f0a298f257
|
||||
1343 1384 1666150633672573495 Step_2 2fd6ed1a72fdaa11
|
||||
1 1324 1666150696234332838 CMakeFiles/Step_2.dir/src/main.cpp.o 387235f0a298f257
|
||||
1324 1367 1666150696274333968 Step_2 2fd6ed1a72fdaa11
|
||||
1 894 1666150814293683426 CMakeFiles/Step_2.dir/src/raytracing.cpp.o e78f62563fb6428
|
||||
1 1207 1666150814605692327 CMakeFiles/Step_2.dir/src/world.cpp.o 713f22c63a585103
|
||||
1 1332 1666150814729695867 CMakeFiles/Step_2.dir/src/main.cpp.o 387235f0a298f257
|
||||
1332 1373 1666150814769697008 Step_2 2fd6ed1a72fdaa11
|
||||
1 914 1666150835958302077 CMakeFiles/Step_2.dir/src/raytracing.cpp.o e78f62563fb6428
|
||||
1 1322 1666150836366313739 CMakeFiles/Step_2.dir/src/main.cpp.o 387235f0a298f257
|
||||
0 1024 1666150843462516618 CMakeFiles/Step_2.dir/src/world.cpp.o 713f22c63a585103
|
||||
1024 1067 1666150843506517875 Step_2 2fd6ed1a72fdaa11
|
||||
1 1331 1666151079657324648 CMakeFiles/Step_2.dir/src/main.cpp.o 387235f0a298f257
|
||||
1331 1374 1666151079701325924 Step_2 2fd6ed1a72fdaa11
|
||||
0 872 1666151281319201524 CMakeFiles/Step_2.dir/src/raytracing.cpp.o e78f62563fb6428
|
||||
0 1325 1666151281771214746 CMakeFiles/Step_2.dir/src/main.cpp.o 387235f0a298f257
|
||||
1325 1368 1666151281811215915 Step_2 2fd6ed1a72fdaa11
|
||||
0 861 1666151325328489741 CMakeFiles/Step_2.dir/src/raytracing.cpp.o e78f62563fb6428
|
||||
861 903 1666151325368490914 Step_2 2fd6ed1a72fdaa11
|
||||
1 858 1666151365245659632 CMakeFiles/Step_2.dir/src/raytracing.cpp.o e78f62563fb6428
|
||||
858 900 1666151365285660804 Step_2 2fd6ed1a72fdaa11
|
||||
1 827 1666151459548428351 CMakeFiles/Step_2.dir/src/raytracing.cpp.o e78f62563fb6428
|
||||
827 868 1666151459588429527 Step_2 2fd6ed1a72fdaa11
|
||||
0 848 1666151613520961287 CMakeFiles/Step_2.dir/src/raytracing.cpp.o e78f62563fb6428
|
||||
848 893 1666151613564962583 Step_2 2fd6ed1a72fdaa11
|
||||
0 849 1666151635229601416 CMakeFiles/Step_2.dir/src/raytracing.cpp.o e78f62563fb6428
|
||||
849 890 1666151635269602595 Step_2 2fd6ed1a72fdaa11
|
||||
0 825 1666151682586998614 CMakeFiles/Step_2.dir/src/raytracing.cpp.o e78f62563fb6428
|
||||
0 1161 1666151682923008531 CMakeFiles/Step_2.dir/src/util/models.cpp.o 12734a9214cf8718
|
||||
1161 1205 1666151682967009829 Step_2 2fd6ed1a72fdaa11
|
||||
0 1080 1666151691303255877 CMakeFiles/Step_2.dir/src/util/models.cpp.o 12734a9214cf8718
|
||||
1080 1121 1666151691343257061 Step_2 2fd6ed1a72fdaa11
|
||||
1 1081 1666151729744390871 CMakeFiles/Step_2.dir/src/util/models.cpp.o 12734a9214cf8718
|
||||
1081 1121 1666151729784392052 Step_2 2fd6ed1a72fdaa11
|
||||
1 1064 1666151741296732075 CMakeFiles/Step_2.dir/src/util/models.cpp.o 12734a9214cf8718
|
||||
1064 1102 1666151741336733256 Step_2 2fd6ed1a72fdaa11
|
||||
1 1094 1666151768373532001 CMakeFiles/Step_2.dir/src/util/models.cpp.o 12734a9214cf8718
|
||||
1094 1135 1666151768413533183 Step_2 2fd6ed1a72fdaa11
|
||||
0 1061 1666151804658604382 CMakeFiles/Step_2.dir/src/util/models.cpp.o 12734a9214cf8718
|
||||
1061 1101 1666151804698605565 Step_2 2fd6ed1a72fdaa11
|
||||
1 1094 1666151845799820822 CMakeFiles/Step_2.dir/src/util/models.cpp.o 12734a9214cf8718
|
||||
1094 1139 1666151845843822121 Step_2 2fd6ed1a72fdaa11
|
||||
1 1248 1666151994891921776 CMakeFiles/Step_2.dir/src/main.cpp.o 387235f0a298f257
|
||||
1248 1290 1666151994931922751 Step_2 2fd6ed1a72fdaa11
|
||||
1 1089 1666152375197700511 CMakeFiles/Step_2.dir/src/world.cpp.o 713f22c63a585103
|
||||
1 1264 1666152375373705230 CMakeFiles/Step_2.dir/src/main.cpp.o 387235f0a298f257
|
||||
1264 1303 1666152375413706302 Step_2 2fd6ed1a72fdaa11
|
||||
0 1049 1666153673822386848 CMakeFiles/Step_2.dir/src/world.cpp.o 713f22c63a585103
|
||||
1049 1131 1666153673902389160 Step_2 2fd6ed1a72fdaa11
|
||||
0 1257 1666153944002203790 CMakeFiles/Step_2.dir/src/main.cpp.o 387235f0a298f257
|
||||
1257 1298 1666153944042204950 Step_2 2fd6ed1a72fdaa11
|
||||
1 1256 1666153973791066740 CMakeFiles/Step_2.dir/src/main.cpp.o 387235f0a298f257
|
||||
1257 1295 1666153973827067782 Step_2 2fd6ed1a72fdaa11
|
||||
1 1275 1666154467458454007 CMakeFiles/Step_2.dir/src/main.cpp.o 387235f0a298f257
|
||||
1275 1318 1666154467498455228 Step_2 2fd6ed1a72fdaa11
|
||||
|
|
After Width: | Height: | Size: 66 KiB |
After Width: | Height: | Size: 66 KiB |
After Width: | Height: | Size: 66 KiB |
After Width: | Height: | Size: 66 KiB |
After Width: | Height: | Size: 66 KiB |
After Width: | Height: | Size: 66 KiB |
After Width: | Height: | Size: 66 KiB |
After Width: | Height: | Size: 69 KiB |
After Width: | Height: | Size: 69 KiB |
After Width: | Height: | Size: 117 KiB |
After Width: | Height: | Size: 122 KiB |
After Width: | Height: | Size: 129 KiB |
After Width: | Height: | Size: 3.3 KiB |
After Width: | Height: | Size: 6.1 KiB |
After Width: | Height: | Size: 6.1 KiB |
After Width: | Height: | Size: 107 KiB |
After Width: | Height: | Size: 303 KiB |
After Width: | Height: | Size: 364 KiB |
After Width: | Height: | Size: 351 KiB |
After Width: | Height: | Size: 445 KiB |
|
@ -1,3 +1,3 @@
|
|||
Start testing: Oct 17 00:28 EDT
|
||||
Start testing: Oct 19 00:41 EDT
|
||||
----------------------------------------------------------
|
||||
End testing: Oct 17 00:28 EDT
|
||||
End testing: Oct 19 00:41 EDT
|
||||
|
|
|
@ -0,0 +1,47 @@
|
|||
# Blender 3.3.1
|
||||
# www.blender.org
|
||||
mtllib cube.mtl
|
||||
o Cube
|
||||
v -250.000000 -250.000000 250.000000
|
||||
v -250.000000 250.000000 250.000000
|
||||
v -250.000000 -250.000000 -250.000000
|
||||
v -250.000000 250.000000 -250.000000
|
||||
v 250.000000 -250.000000 250.000000
|
||||
v 250.000000 250.000000 250.000000
|
||||
v 250.000000 -250.000000 -250.000000
|
||||
v 250.000000 250.000000 -250.000000
|
||||
vn 1.0000 -0.0000 -0.0000
|
||||
vn -0.0000 -0.0000 1.0000
|
||||
vn -1.0000 -0.0000 -0.0000
|
||||
vn -0.0000 -0.0000 -1.0000
|
||||
vn -0.0000 1.0000 -0.0000
|
||||
vn -0.0000 -1.0000 -0.0000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 1.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 1.000000
|
||||
vt 1.000000 0.000000
|
||||
vt 1.000000 1.000000
|
||||
vt 0.000000 1.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 1.000000 0.000000
|
||||
vt 0.000000 1.000000
|
||||
vt 1.000000 1.000000
|
||||
vt 1.000000 0.000000
|
||||
vt 1.000000 0.000000
|
||||
vt 1.000000 1.000000
|
||||
vt 1.000000 1.000000
|
||||
s 0
|
||||
f 3/6/1 2/2/1 1/1/1
|
||||
f 7/14/2 4/8/2 3/4/2
|
||||
f 5/9/3 8/16/3 7/14/3
|
||||
f 1/1/4 6/12/4 5/10/4
|
||||
f 1/1/5 7/15/5 3/5/5
|
||||
f 6/13/6 4/8/6 8/16/6
|
||||
f 3/6/1 4/7/1 2/2/1
|
||||
f 7/14/2 8/16/2 4/8/2
|
||||
f 5/9/3 6/11/3 8/16/3
|
||||
f 1/1/4 2/2/4 6/12/4
|
||||
f 1/1/5 5/10/5 7/15/5
|
||||
f 6/13/6 2/3/6 4/8/6
|
|
@ -0,0 +1,47 @@
|
|||
# Blender 3.3.1
|
||||
# www.blender.org
|
||||
mtllib cubeflipped.mtl
|
||||
o Cube
|
||||
v -250.000000 -250.000000 250.000000
|
||||
v -250.000000 250.000000 250.000000
|
||||
v -250.000000 -250.000000 -250.000000
|
||||
v -250.000000 250.000000 -250.000000
|
||||
v 250.000000 -250.000000 250.000000
|
||||
v 250.000000 250.000000 250.000000
|
||||
v 250.000000 -250.000000 -250.000000
|
||||
v 250.000000 250.000000 -250.000000
|
||||
vn -1.0000 -0.0000 -0.0000
|
||||
vn -0.0000 -0.0000 -1.0000
|
||||
vn 1.0000 -0.0000 -0.0000
|
||||
vn -0.0000 -0.0000 1.0000
|
||||
vn -0.0000 -1.0000 -0.0000
|
||||
vn -0.0000 1.0000 -0.0000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 1.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 1.000000
|
||||
vt 1.000000 0.000000
|
||||
vt 1.000000 1.000000
|
||||
vt 0.000000 1.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 1.000000 0.000000
|
||||
vt 0.000000 1.000000
|
||||
vt 1.000000 1.000000
|
||||
vt 1.000000 0.000000
|
||||
vt 1.000000 0.000000
|
||||
vt 1.000000 1.000000
|
||||
vt 1.000000 1.000000
|
||||
s 0
|
||||
f 3/6/1 1/1/1 2/2/1
|
||||
f 7/14/2 3/4/2 4/8/2
|
||||
f 5/9/3 7/14/3 8/16/3
|
||||
f 1/1/4 5/10/4 6/12/4
|
||||
f 1/1/5 3/5/5 7/15/5
|
||||
f 6/13/6 8/16/6 4/8/6
|
||||
f 3/6/1 2/2/1 4/7/1
|
||||
f 7/14/2 4/8/2 8/16/2
|
||||
f 5/9/3 8/16/3 6/11/3
|
||||
f 1/1/4 6/12/4 2/2/4
|
||||
f 1/1/5 7/15/5 5/10/5
|
||||
f 6/13/6 4/8/6 2/3/6
|
|
@ -0,0 +1,255 @@
|
|||
# Blender 3.3.1
|
||||
# www.blender.org
|
||||
mtllib house.mtl
|
||||
o Cube
|
||||
v -0.800000 -1.000000 1.000000
|
||||
v -0.800000 1.000000 1.000000
|
||||
v -0.800000 -1.000000 -1.000000
|
||||
v -0.800000 1.000000 -1.000000
|
||||
v 0.800000 -1.000000 1.000000
|
||||
v 0.800000 1.000000 1.000000
|
||||
v 0.800000 -1.000000 -1.000000
|
||||
v 0.800000 1.000000 -1.000000
|
||||
vn -1.0000 -0.0000 -0.0000
|
||||
vn -0.0000 -0.0000 -1.0000
|
||||
vn 1.0000 -0.0000 -0.0000
|
||||
vn -0.0000 -0.0000 1.0000
|
||||
vn -0.0000 -1.0000 -0.0000
|
||||
vn -0.0000 1.0000 -0.0000
|
||||
vt 0.375000 0.000000
|
||||
vt 0.375000 1.000000
|
||||
vt 0.125000 0.750000
|
||||
vt 0.625000 0.000000
|
||||
vt 0.625000 1.000000
|
||||
vt 0.875000 0.750000
|
||||
vt 0.125000 0.500000
|
||||
vt 0.375000 0.250000
|
||||
vt 0.625000 0.250000
|
||||
vt 0.875000 0.500000
|
||||
vt 0.375000 0.750000
|
||||
vt 0.625000 0.750000
|
||||
vt 0.375000 0.500000
|
||||
vt 0.625000 0.500000
|
||||
s 0
|
||||
f 2/4/1 3/8/1 1/1/1
|
||||
f 4/9/2 7/13/2 3/8/2
|
||||
f 8/14/3 5/11/3 7/13/3
|
||||
f 6/12/4 1/2/4 5/11/4
|
||||
f 7/13/5 1/3/5 3/7/5
|
||||
f 4/10/6 6/12/6 8/14/6
|
||||
f 2/4/1 4/9/1 3/8/1
|
||||
f 4/9/2 8/14/2 7/13/2
|
||||
f 8/14/3 6/12/3 5/11/3
|
||||
f 6/12/4 2/5/4 1/2/4
|
||||
f 7/13/5 5/11/5 1/3/5
|
||||
f 4/10/6 2/6/6 6/12/6
|
||||
o Cube.001
|
||||
v -1.000000 1.719057 0.057522
|
||||
v -1.000000 1.832386 -0.037572
|
||||
v -1.000000 0.433482 -1.474567
|
||||
v -1.000000 0.546811 -1.569661
|
||||
v 1.000000 1.719057 0.057522
|
||||
v 1.000000 1.832386 -0.037572
|
||||
v 1.000000 0.433482 -1.474567
|
||||
v 1.000000 0.546811 -1.569661
|
||||
vn -1.0000 -0.0000 -0.0000
|
||||
vn -0.0000 -0.6428 -0.7660
|
||||
vn 1.0000 -0.0000 -0.0000
|
||||
vn -0.0000 0.6428 0.7660
|
||||
vn -0.0000 -0.7660 0.6428
|
||||
vn -0.0000 0.7660 -0.6428
|
||||
vt 0.375000 0.000000
|
||||
vt 0.375000 1.000000
|
||||
vt 0.125000 0.750000
|
||||
vt 0.625000 0.000000
|
||||
vt 0.625000 1.000000
|
||||
vt 0.875000 0.750000
|
||||
vt 0.125000 0.500000
|
||||
vt 0.375000 0.250000
|
||||
vt 0.625000 0.250000
|
||||
vt 0.875000 0.500000
|
||||
vt 0.375000 0.750000
|
||||
vt 0.625000 0.750000
|
||||
vt 0.375000 0.500000
|
||||
vt 0.625000 0.500000
|
||||
s 0
|
||||
f 10/18/7 11/22/7 9/15/7
|
||||
f 12/23/8 15/27/8 11/22/8
|
||||
f 16/28/9 13/25/9 15/27/9
|
||||
f 14/26/10 9/16/10 13/25/10
|
||||
f 15/27/11 9/17/11 11/21/11
|
||||
f 12/24/12 14/26/12 16/28/12
|
||||
f 10/18/7 12/23/7 11/22/7
|
||||
f 12/23/8 16/28/8 15/27/8
|
||||
f 16/28/9 14/26/9 13/25/9
|
||||
f 14/26/10 10/19/10 9/16/10
|
||||
f 15/27/11 13/25/11 9/17/11
|
||||
f 12/24/12 10/20/12 14/26/12
|
||||
o Cube.002
|
||||
v -1.000000 0.433482 1.461952
|
||||
v -1.000000 0.546811 1.557046
|
||||
v -1.000000 1.719057 -0.070137
|
||||
v -1.000000 1.832386 0.024957
|
||||
v 1.000000 0.433482 1.461952
|
||||
v 1.000000 0.546811 1.557046
|
||||
v 1.000000 1.719057 -0.070137
|
||||
v 1.000000 1.832386 0.024957
|
||||
vn -1.0000 -0.0000 -0.0000
|
||||
vn -0.0000 0.6428 -0.7660
|
||||
vn 1.0000 -0.0000 -0.0000
|
||||
vn -0.0000 -0.6428 0.7660
|
||||
vn -0.0000 -0.7660 -0.6428
|
||||
vn -0.0000 0.7660 0.6428
|
||||
vt 0.375000 0.000000
|
||||
vt 0.375000 1.000000
|
||||
vt 0.125000 0.750000
|
||||
vt 0.625000 0.000000
|
||||
vt 0.625000 1.000000
|
||||
vt 0.875000 0.750000
|
||||
vt 0.125000 0.500000
|
||||
vt 0.375000 0.250000
|
||||
vt 0.625000 0.250000
|
||||
vt 0.875000 0.500000
|
||||
vt 0.375000 0.750000
|
||||
vt 0.625000 0.750000
|
||||
vt 0.375000 0.500000
|
||||
vt 0.625000 0.500000
|
||||
s 0
|
||||
f 18/32/13 19/36/13 17/29/13
|
||||
f 20/37/14 23/41/14 19/36/14
|
||||
f 24/42/15 21/39/15 23/41/15
|
||||
f 22/40/16 17/30/16 21/39/16
|
||||
f 23/41/17 17/31/17 19/35/17
|
||||
f 20/38/18 22/40/18 24/42/18
|
||||
f 18/32/13 20/37/13 19/36/13
|
||||
f 20/37/14 24/42/14 23/41/14
|
||||
f 24/42/15 22/40/15 21/39/15
|
||||
f 22/40/16 18/33/16 17/30/16
|
||||
f 23/41/17 21/39/17 17/31/17
|
||||
f 20/38/18 18/34/18 22/40/18
|
||||
o Cube.003
|
||||
v 0.787552 -0.999883 0.157434
|
||||
v 0.787552 -0.426687 0.157434
|
||||
v 0.787552 -0.999883 -0.157434
|
||||
v 0.787552 -0.426687 -0.157434
|
||||
v 0.836243 -0.999883 0.157434
|
||||
v 0.836243 -0.426687 0.157434
|
||||
v 0.836243 -0.999883 -0.157434
|
||||
v 0.836243 -0.426687 -0.157434
|
||||
vn -1.0000 -0.0000 -0.0000
|
||||
vn -0.0000 -0.0000 -1.0000
|
||||
vn 1.0000 -0.0000 -0.0000
|
||||
vn -0.0000 -0.0000 1.0000
|
||||
vn -0.0000 -1.0000 -0.0000
|
||||
vn -0.0000 1.0000 -0.0000
|
||||
vt 0.375000 0.000000
|
||||
vt 0.375000 1.000000
|
||||
vt 0.125000 0.750000
|
||||
vt 0.625000 0.000000
|
||||
vt 0.625000 1.000000
|
||||
vt 0.875000 0.750000
|
||||
vt 0.125000 0.500000
|
||||
vt 0.375000 0.250000
|
||||
vt 0.625000 0.250000
|
||||
vt 0.875000 0.500000
|
||||
vt 0.375000 0.750000
|
||||
vt 0.625000 0.750000
|
||||
vt 0.375000 0.500000
|
||||
vt 0.625000 0.500000
|
||||
s 0
|
||||
f 26/46/19 27/50/19 25/43/19
|
||||
f 28/51/20 31/55/20 27/50/20
|
||||
f 32/56/21 29/53/21 31/55/21
|
||||
f 30/54/22 25/44/22 29/53/22
|
||||
f 31/55/23 25/45/23 27/49/23
|
||||
f 28/52/24 30/54/24 32/56/24
|
||||
f 26/46/19 28/51/19 27/50/19
|
||||
f 28/51/20 32/56/20 31/55/20
|
||||
f 32/56/21 30/54/21 29/53/21
|
||||
f 30/54/22 26/47/22 25/44/22
|
||||
f 31/55/23 29/53/23 25/45/23
|
||||
f 28/52/24 26/48/24 30/54/24
|
||||
o Cube.004
|
||||
v 0.787552 -0.090162 0.721031
|
||||
v 0.787552 0.409838 0.721031
|
||||
v 0.787552 -0.090162 0.221031
|
||||
v 0.787552 0.409838 0.221031
|
||||
v 0.836243 -0.090162 0.721031
|
||||
v 0.836243 0.409838 0.721031
|
||||
v 0.836243 -0.090162 0.221031
|
||||
v 0.836243 0.409838 0.221031
|
||||
vn -1.0000 -0.0000 -0.0000
|
||||
vn -0.0000 -0.0000 -1.0000
|
||||
vn 1.0000 -0.0000 -0.0000
|
||||
vn -0.0000 -0.0000 1.0000
|
||||
vn -0.0000 -1.0000 -0.0000
|
||||
vn -0.0000 1.0000 -0.0000
|
||||
vt 0.375000 0.000000
|
||||
vt 0.375000 1.000000
|
||||
vt 0.125000 0.750000
|
||||
vt 0.625000 0.000000
|
||||
vt 0.625000 1.000000
|
||||
vt 0.875000 0.750000
|
||||
vt 0.125000 0.500000
|
||||
vt 0.375000 0.250000
|
||||
vt 0.625000 0.250000
|
||||
vt 0.875000 0.500000
|
||||
vt 0.375000 0.750000
|
||||
vt 0.625000 0.750000
|
||||
vt 0.375000 0.500000
|
||||
vt 0.625000 0.500000
|
||||
s 0
|
||||
f 34/60/25 35/64/25 33/57/25
|
||||
f 36/65/26 39/69/26 35/64/26
|
||||
f 40/70/27 37/67/27 39/69/27
|
||||
f 38/68/28 33/58/28 37/67/28
|
||||
f 39/69/29 33/59/29 35/63/29
|
||||
f 36/66/30 38/68/30 40/70/30
|
||||
f 34/60/25 36/65/25 35/64/25
|
||||
f 36/65/26 40/70/26 39/69/26
|
||||
f 40/70/27 38/68/27 37/67/27
|
||||
f 38/68/28 34/61/28 33/58/28
|
||||
f 39/69/29 37/67/29 33/59/29
|
||||
f 36/66/30 34/62/30 38/68/30
|
||||
o Cube.005
|
||||
v 0.787552 -0.090162 -0.227981
|
||||
v 0.787552 0.409838 -0.227981
|
||||
v 0.787552 -0.090162 -0.727981
|
||||
v 0.787552 0.409838 -0.727981
|
||||
v 0.836243 -0.090162 -0.227981
|
||||
v 0.836243 0.409838 -0.227981
|
||||
v 0.836243 -0.090162 -0.727981
|
||||
v 0.836243 0.409838 -0.727981
|
||||
vn -1.0000 -0.0000 -0.0000
|
||||
vn -0.0000 -0.0000 -1.0000
|
||||
vn 1.0000 -0.0000 -0.0000
|
||||
vn -0.0000 -0.0000 1.0000
|
||||
vn -0.0000 -1.0000 -0.0000
|
||||
vn -0.0000 1.0000 -0.0000
|
||||
vt 0.375000 0.000000
|
||||
vt 0.375000 1.000000
|
||||
vt 0.125000 0.750000
|
||||
vt 0.625000 0.000000
|
||||
vt 0.625000 1.000000
|
||||
vt 0.875000 0.750000
|
||||
vt 0.125000 0.500000
|
||||
vt 0.375000 0.250000
|
||||
vt 0.625000 0.250000
|
||||
vt 0.875000 0.500000
|
||||
vt 0.375000 0.750000
|
||||
vt 0.625000 0.750000
|
||||
vt 0.375000 0.500000
|
||||
vt 0.625000 0.500000
|
||||
s 0
|
||||
f 42/74/31 43/78/31 41/71/31
|
||||
f 44/79/32 47/83/32 43/78/32
|
||||
f 48/84/33 45/81/33 47/83/33
|
||||
f 46/82/34 41/72/34 45/81/34
|
||||
f 47/83/35 41/73/35 43/77/35
|
||||
f 44/80/36 46/82/36 48/84/36
|
||||
f 42/74/31 44/79/31 43/78/31
|
||||
f 44/79/32 48/84/32 47/83/32
|
||||
f 48/84/33 46/82/33 45/81/33
|
||||
f 46/82/34 42/75/34 41/72/34
|
||||
f 47/83/35 45/81/35 41/73/35
|
||||
f 44/80/36 42/76/36 46/82/36
|
|
@ -45,24 +45,25 @@ namespace Raytracing {
|
|||
std::vector<Triangle> triangles;
|
||||
ModelData& data;
|
||||
// basically we have to store this crap here because c++ loves to copy stuff
|
||||
std::vector<Object*> createdTreeObjects;
|
||||
BVHTree* tree;
|
||||
//std::vector<Object*> createdTreeObjects{};
|
||||
//BVHTree* tree = nullptr;
|
||||
public:
|
||||
ModelObject(const Vec4& position, ModelData& data, Material* material): Object(material, position), data(data) {
|
||||
// since all of this occurs before the main ray tracing algorithm it's fine to do sequentially
|
||||
triangles = data.toTriangles();
|
||||
this->aabb = data.aabb;
|
||||
createdTreeObjects = Raytracing::ModelData::createBVHTree(triangles, position);
|
||||
tree = new BVHTree(createdTreeObjects);
|
||||
//createdTreeObjects = Raytracing::ModelData::createBVHTree(triangles, position);
|
||||
//tree = new BVHTree(createdTreeObjects);
|
||||
}
|
||||
[[nodiscard]] virtual HitData checkIfHit(const Ray& ray, PRECISION_TYPE min, PRECISION_TYPE max) const;
|
||||
virtual Object* clone() {
|
||||
return new ModelObject(position, data, material);
|
||||
}
|
||||
virtual ~ModelObject() {
|
||||
for (auto* p : createdTreeObjects)
|
||||
delete(p);
|
||||
delete(tree);
|
||||
// Disabled for now, causing bugs when on release mode.
|
||||
//for (auto* p : createdTreeObjects)
|
||||
// delete(p);
|
||||
//delete(tree);
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -104,7 +105,7 @@ namespace Raytracing {
|
|||
* saving on computation
|
||||
*/
|
||||
// TODO: the above todo has been done, now we need to test the performance advantage of the BVH
|
||||
BVHTree* bvhTree = nullptr;
|
||||
//BVHTree* bvhTree = nullptr;
|
||||
std::unordered_map<std::string, Material*> materials;
|
||||
public:
|
||||
World() = default;
|
||||
|
|
|
@ -44,11 +44,12 @@ int main(int argc, char** args) {
|
|||
// not perfect (contains duplicates) but good enough.
|
||||
parser.printAllInInfo();
|
||||
|
||||
Raytracing::Image image(445, 256);
|
||||
//Raytracing::Image image(445, 256);
|
||||
Raytracing::Image image(910, 512);
|
||||
|
||||
Raytracing::Camera camera(90, image);
|
||||
//camera.setPosition({0, 0, 1});
|
||||
camera.lookAt(Raytracing::Vec4(-3,3,3), Raytracing::Vec4(0, 0, 0), Raytracing::Vec4(0, 1, 0));
|
||||
camera.lookAt(Raytracing::Vec4(-2,2,2), Raytracing::Vec4(0, 0, 0), Raytracing::Vec4(0, 1, 0));
|
||||
|
||||
Raytracing::World world;
|
||||
|
||||
|
@ -66,17 +67,18 @@ int main(int argc, char** args) {
|
|||
|
||||
//world.add(new Raytracing::SphereObject(Raytracing::vec4(0,0,-1,0), 0.5, world.getMaterial("redDiffuse")));
|
||||
//world.add(new Raytracing::SphereObject(Raytracing::vec4(-1,0,-1,0), 0.5, world.getMaterial("blueMetal")));
|
||||
//world.add(new Raytracing::SphereObject(Raytracing::vec4(1,0,-1,0), 0.5, world.getMaterial("redMetal")));
|
||||
//world.add(new Raytracing::SphereObject(Raytracing::Vec4(1,0,-1,0), 0.5, world.getMaterial("redMetal")));
|
||||
world.add(new Raytracing::SphereObject(Raytracing::Vec4(0,-100.5,-1,0), 100, world.getMaterial("greenDiffuse")));
|
||||
//world.add(new Raytracing::TriangleObject(Raytracing::vec4(0,0.1,-0.5f,0), {{-0.5, -0.5, 0.0}, {0.5, -0.5, 0.0}, {0.0, 0.5, 0}}, world.getMaterial("greenDiffuse")));
|
||||
world.add(new Raytracing::ModelObject({0, 0, -1}, spider, world.getMaterial("redDiffuse")));
|
||||
//world.add(new Raytracing::TriangleObject(Raytracing::Vec4(0,0.1,-0.5f,0), {{-0.5, -0.5, 0.0}, {0.5, -0.5, 0.0}, {0.0, 0.5, 0}}, world.getMaterial("greenDiffuse")));
|
||||
world.add(new Raytracing::ModelObject({0, 1, -1}, spider, world.getMaterial("redDiffuse")));
|
||||
world.add(new Raytracing::ModelObject({2, 0, 0}, house, world.getMaterial("blueDiffuse")));
|
||||
world.add(new Raytracing::ModelObject({5, 0, 0}, house, world.getMaterial("blueDiffuse")));
|
||||
world.add(new Raytracing::ModelObject({5, 0, -5}, house, world.getMaterial("blueDiffuse")));
|
||||
world.add(new Raytracing::ModelObject({-5, 5, 5}, house, world.getMaterial("blueDiffuse")));
|
||||
world.add(new Raytracing::ModelObject({5, 5, -10}, house, world.getMaterial("blueDiffuse")));
|
||||
world.add(new Raytracing::ModelObject({5, 0, -10}, house, world.getMaterial("blueDiffuse")));
|
||||
world.add(new Raytracing::ModelObject({5, 5, 0}, house, world.getMaterial("blueDiffuse")));
|
||||
|
||||
Raytracing::Raycaster raycaster {camera, image, world, parser};
|
||||
|
||||
ilog << "Running raycaster!\n";
|
||||
raycaster.run();
|
||||
|
||||
Raytracing::ImageOutput imageOutput(image);
|
||||
|
@ -95,6 +97,7 @@ int main(int argc, char** args) {
|
|||
timeString << now->tm_min;
|
||||
timeString << ":";
|
||||
timeString << now->tm_sec;
|
||||
ilog << "Writing Image!\n";
|
||||
imageOutput.write(parser.getOptionValue("--output") + timeString.str(), parser.getOptionValue("--format"));
|
||||
|
||||
return 0;
|
||||
|
|
|
@ -69,6 +69,7 @@ namespace Raytracing {
|
|||
|
||||
/*
|
||||
* Sources for designing these various algorithms
|
||||
* TODO: test these methods for performance
|
||||
* https://www.realtimerendering.com/intersections.html
|
||||
* https://web.archive.org/web/20090803054252/http://tog.acm.org/resources/GraphicsGems/gems/RayBox.c
|
||||
* https://www.scratchapixel.com/lessons/3d-basic-rendering/minimal-ray-tracer-rendering-simple-shapes/ray-box-intersection
|
||||
|
@ -79,6 +80,7 @@ namespace Raytracing {
|
|||
bool AABB::simpleSlabRayAABBMethod(const Ray& ray, PRECISION_TYPE tmin, PRECISION_TYPE tmax){
|
||||
// branch less design
|
||||
// adapted from 2d to fit our 3d scene.
|
||||
// (turns out this is actually a pretty standard design, but could use some optimization)
|
||||
PRECISION_TYPE tx1 = (min.x() - ray.getStartingPoint().x())*ray.getInverseDirection().x();
|
||||
PRECISION_TYPE tx2 = (max.x() - ray.getStartingPoint().x())*ray.getInverseDirection().x();
|
||||
|
||||
|
|
|
@ -63,8 +63,7 @@ namespace Raytracing {
|
|||
return {0,0,0};
|
||||
}
|
||||
|
||||
Vec4 dir = ray.getDirection().normalize();
|
||||
auto t = 0.5f * (dir.y() + 1.0);
|
||||
return (1.0 - t) * Vec4(1.0, 1.0, 1.0) + t * Vec4(0.5, 0.7, 1.0);
|
||||
// skybox color
|
||||
return {0.5, 0.7, 1.0};
|
||||
}
|
||||
}
|
|
@ -8,11 +8,12 @@
|
|||
|
||||
Raytracing::ModelData Raytracing::OBJLoader::loadModel(std::string file) {
|
||||
std::ifstream modelFile;
|
||||
|
||||
|
||||
modelFile.exceptions(std::ifstream::failbit | std::ifstream::badbit);
|
||||
modelFile.open(file);
|
||||
std::stringstream modelSource;
|
||||
|
||||
|
||||
std::cout.flush();
|
||||
// read the entire file into a string
|
||||
modelSource << modelFile.rdbuf();
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@ namespace Raytracing {
|
|||
delete (p);
|
||||
for (const auto& p: materials)
|
||||
delete (p.second);
|
||||
delete(bvhTree);
|
||||
//delete(bvhTree);
|
||||
}
|
||||
|
||||
HitData SphereObject::checkIfHit(const Ray& ray, PRECISION_TYPE min, PRECISION_TYPE max) const {
|
||||
|
@ -57,7 +57,7 @@ namespace Raytracing {
|
|||
}
|
||||
|
||||
std::pair<HitData, Object*> World::checkIfHit(const Ray& ray, PRECISION_TYPE min, PRECISION_TYPE max) const {
|
||||
if (bvhTree != nullptr){
|
||||
/*if (bvhTree != nullptr){
|
||||
auto hResult = HitData{false, Vec4(), Vec4(), max};
|
||||
Object* objPtr = nullptr;
|
||||
|
||||
|
@ -86,7 +86,7 @@ namespace Raytracing {
|
|||
}
|
||||
|
||||
return {hResult, objPtr};
|
||||
} else {
|
||||
} else {*/
|
||||
// rejection algo without using a binary space partitioning data structure
|
||||
auto hResult = HitData{false, Vec4(), Vec4(), max};
|
||||
Object* objPtr = nullptr;
|
||||
|
@ -100,11 +100,11 @@ namespace Raytracing {
|
|||
}
|
||||
}
|
||||
return {hResult, objPtr};
|
||||
}
|
||||
//}
|
||||
}
|
||||
|
||||
void World::generateBVH() {
|
||||
bvhTree = new BVHTree(objects);
|
||||
//bvhTree = new BVHTree(objects);
|
||||
}
|
||||
|
||||
ScatterResults DiffuseMaterial::scatter(const Ray& ray, const HitData& hitData) const {
|
||||
|
@ -161,7 +161,8 @@ namespace Raytracing {
|
|||
|
||||
// At this stage we can compute t to find out where the intersection point is on the line.
|
||||
PRECISION_TYPE t = f * Vec4::dot(edge2, q);
|
||||
if (t > EPSILON) {
|
||||
// keep t in reasonable bounds, ensuring we respect depth
|
||||
if (t > EPSILON && t >= min && t <= max) {
|
||||
// ray intersects
|
||||
Vec4 rayIntersectionPoint = ray.along(t);
|
||||
Vec4 normal;
|
||||
|
@ -183,13 +184,24 @@ namespace Raytracing {
|
|||
}
|
||||
|
||||
HitData ModelObject::checkIfHit(const Ray& ray, PRECISION_TYPE min, PRECISION_TYPE max) const {
|
||||
/*auto hResult = HitData{false, Vec4(), Vec4(), max};
|
||||
auto hResult = HitData{false, Vec4(), Vec4(), max};
|
||||
for (const Triangle& t : triangles) {
|
||||
auto cResult = checkIfTriangleGotHit(t, position, ray, min, hResult.length);
|
||||
if (cResult.hit)
|
||||
hResult = cResult;
|
||||
}*/
|
||||
auto hResult = HitData{false, Vec4(), Vec4(), max};
|
||||
}
|
||||
// if you've made it to this point this will be in the parallel step version
|
||||
// I've run out of time to mess with this
|
||||
// and I hate that he made this due in the middle of exam / assignment season
|
||||
// it's really hard for me to get in there and obsess over this
|
||||
// when i got 4 other classes cram-ing as much useless bullshit into the next week and a half for no reason other than
|
||||
// "hahahahha I rambled about nonsense in class for the last few weeks let's test your knowledge with a tedious assignment!!! woooooo!!!!!"
|
||||
// this is honestly the only good 3rd year class I've taken so far
|
||||
// Only if I had more time. THINK OF THE GRAPHS I COULD'VE MADE!!!
|
||||
// I had plans (and still do) to make graphs of every little performance bottleneck
|
||||
// but it's impossible when you got all this stuff due, C++ decides it hates you and wants to segfault for dumb reasons, and the program takes 20 MINUTES TO RUN!
|
||||
// would've been able to get the GUI stuff in and fix the BVH by visualizing the bounding boxes
|
||||
/*auto hResult = HitData{false, Vec4(), Vec4(), max};
|
||||
|
||||
auto intersected = tree->rayIntersect(ray, min, max);
|
||||
|
||||
|
@ -200,7 +212,7 @@ namespace Raytracing {
|
|||
auto cResult = checkIfTriangleGotHit(((EmptyObject*)(t))->tri, position, ray, min, hResult.length);
|
||||
if (cResult.hit)
|
||||
hResult = cResult;
|
||||
}
|
||||
}*/
|
||||
|
||||
return hResult;
|
||||
}
|
||||
|
|