BVH Debug Working + Input Bug Fix

Bounding Boxes are now drawn in debug mode. Some debugging is required as the box is slightly offset.
GLFW_REPEAT no longer causes keyReleased event.
main
Brett 2022-11-13 14:13:14 -05:00
parent 57ede806b0
commit 98e0efe28e
45 changed files with 225 additions and 113 deletions

Binary file not shown.

View File

@ -1,70 +1,40 @@
# ninja log v5 # ninja log v5
2251 3801 1668274732704319088 CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_tables.cpp.o 3ba46d745de0b349
2 705 1668274729608234066 CMakeFiles/Step_3.dir/src/graphics/gl/gl.c.o 3550af4fe8a6b282
1571 2969 1668274731872296239 CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_demo.cpp.o 176d287836bc7da1
2 2545 1668306655774366982 CMakeFiles/Step_3.dir/src/engine/world.cpp.o 208359954e043c63
2 1571 1668274730476257904 CMakeFiles/Step_3.dir/src/engine/util/debug.cpp.o a64d52dad4cd63b1
1 3479 1668306656706393602 CMakeFiles/Step_3.dir/src/engine/image/image.cpp.o 5f05cf2c2272cba5
2 1237 1668274730140248676 CMakeFiles/Step_3.dir/src/graphics/debug_gui.cpp.o 229b9e79dc4d56a8
2150 2624 1668274731532286901 CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_impl_x11.cpp.o 5f01b6eaf16fac74
1 1345 1668274730252251751 CMakeFiles/Step_3.dir/src/engine/globals.cpp.o d1db4c4c16ccb994
2 2096 1668306655326354187 CMakeFiles/Step_3.dir/src/engine/math/colliders.cpp.o 40bfb33db9b148c5
2 2144 1668306655374355555 CMakeFiles/Step_3.dir/src/engine/util/models.cpp.o 35999f0aa7ac59f2
1345 4637 1668274733540342045 CMakeFiles/Step_3.dir/src/graphics/imgui/imgui.cpp.o e33a249b205aa9df
1972 2181 1668306732908567121 Step_3 7f6959eaebe4da02
2028 2250 1668274731156276577 CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_impl_glfw.cpp.o 713b1d8578f98cd5
2 2799 1668306656026374177 CMakeFiles/Step_3.dir/src/engine/raytracing.cpp.o 12e80f7b52278a58
3 1244 1668306654474329850 CMakeFiles/Step_3.dir/src/graphics/input.cpp.o 6182e2baf6c5f5cb
1622 3914 1668274732820322273 CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_draw.cpp.o db98d6673673de99
1 1972 1668306732700561195 CMakeFiles/Step_3.dir/src/graphics/graphics.cpp.o 8b32839e20b48e73
2376 4828 1668274733732347318 CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_widgets.cpp.o 5edbc9c9e6357892
2 2427 1668306655658363669 CMakeFiles/Step_3.dir/src/graphics/gl/gl.cpp.o ed0bbab89a645a49
2176 2376 1668274731280279981 CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_impl_opengl3.cpp.o bfd818183955410
2 2362 1668306655590361727 CMakeFiles/Step_3.dir/src/graphics/gl/shader.cpp.o 71dc053459a0e1f1
2 3200 1668306656426385604 CMakeFiles/Step_3.dir/src/engine/main.cpp.o 604a2e8d964efb9f
2 1622 1668274730524259221 CMakeFiles/Step_3.dir/src/engine/util/parser.cpp.o e7cc33824fbdff30
3 942 1668362748605515989 CMakeFiles/Step_3.dir/src/graphics/gl/gl.c.o 7e874136640e6898
2 1373 1668362749041528665 CMakeFiles/Step_3.dir/src/engine/globals.cpp.o 3e7c95bef1d0ddaa
3 1631 1668362749297536103 CMakeFiles/Step_3.dir/src/graphics/debug_gui.cpp.o 6b49c8b248d04bb6
3 1762 1668362749429539940 CMakeFiles/Step_3.dir/src/engine/util/parser.cpp.o e9e3fe6fe9a4de66
2 1849 1668362749513542381 CMakeFiles/Step_3.dir/src/engine/util/debug.cpp.o d5972a669671ede
2 2023 1668362749689547500 CMakeFiles/Step_3.dir/src/engine/math/colliders.cpp.o 12778f168a75833b
3 2081 1668362749749549242 CMakeFiles/Step_3.dir/src/graphics/gl/gl.cpp.o c67f39c07aae8f1c
2023 2244 1668362749909553892 CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_impl_glfw.cpp.o 35f01a0bb2fddead
3 2354 1668362750021557148 CMakeFiles/Step_3.dir/src/engine/util/models.cpp.o f8031520e846a554
2244 2466 1668362750133560403 CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_impl_opengl3.cpp.o 45a2ee53269bffeb
2082 2569 1668362750237563426 CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_impl_x11.cpp.o 6f5a39b3d5d543ae
3 2845 1668362750505571219 CMakeFiles/Step_3.dir/src/engine/world.cpp.o fa088ebdd4dea6cb
2 3085 1668362750749578312 CMakeFiles/Step_3.dir/src/engine/raytracing.cpp.o 39bc1042baf06dcd
942 3150 1668362750817580289 CMakeFiles/Step_3.dir/src/graphics/gl/shader.cpp.o 67f44a482b45cec6
1763 3332 1668362750997585518 CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_demo.cpp.o cf522ea42b0f8fd3
2 3562 1668362751225592146 CMakeFiles/Step_3.dir/src/engine/main.cpp.o 9281ecbfd964c525
2 3800 1668362751465599125 CMakeFiles/Step_3.dir/src/engine/image/image.cpp.o 4ca9d05ad8f3d295
2569 3864 1668362751533601098 CMakeFiles/Step_3.dir/src/graphics/input.cpp.o 10752ac78f398bdb
2354 4138 1668362751805609008 CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_tables.cpp.o dc4b23b5e01a8208 2354 4138 1668362751805609008 CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_tables.cpp.o dc4b23b5e01a8208
1374 4227 1668362751893611563 CMakeFiles/Step_3.dir/src/graphics/graphics.cpp.o 53ce7d6ed877d888 3 942 1668362748605515989 CMakeFiles/Step_3.dir/src/graphics/gl/gl.c.o 7e874136640e6898
1763 3332 1668362750997585518 CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_demo.cpp.o cf522ea42b0f8fd3
2 3339 1668365991263948976 CMakeFiles/Step_3.dir/src/engine/world.cpp.o fa088ebdd4dea6cb
2 2094 1668366099451055673 CMakeFiles/Step_3.dir/src/engine/util/debug.cpp.o d5972a669671ede
1 3358 1668366100719092131 CMakeFiles/Step_3.dir/src/engine/image/image.cpp.o 4ca9d05ad8f3d295
2 1588 1668366098951041296 CMakeFiles/Step_3.dir/src/graphics/debug_gui.cpp.o 6b49c8b248d04bb6
2082 2569 1668362750237563426 CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_impl_x11.cpp.o 6f5a39b3d5d543ae
1 1669 1668366099031043596 CMakeFiles/Step_3.dir/src/engine/globals.cpp.o 3e7c95bef1d0ddaa
1 2165 1668366099527057858 CMakeFiles/Step_3.dir/src/engine/math/colliders.cpp.o 12778f168a75833b
2 2553 1668365990479926493 CMakeFiles/Step_3.dir/src/engine/util/models.cpp.o f8031520e846a554
1631 5297 1668362752961642610 CMakeFiles/Step_3.dir/src/graphics/imgui/imgui.cpp.o f152a6b2309aba93
4329 4545 1668365992471983622 Step_3 7f6959eaebe4da02
2023 2244 1668362749909553892 CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_impl_glfw.cpp.o 35f01a0bb2fddead
1 3322 1668365991247948517 CMakeFiles/Step_3.dir/src/engine/raytracing.cpp.o 39bc1042baf06dcd
1670 2845 1668366100207077409 CMakeFiles/Step_3.dir/src/graphics/input.cpp.o 10752ac78f398bdb
1849 4534 1668362752197620402 CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_draw.cpp.o 707f99c685c75a0f 1849 4534 1668362752197620402 CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_draw.cpp.o 707f99c685c75a0f
2466 5248 1668362752913641215 CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_widgets.cpp.o d81abd5f968f8f53 2466 5248 1668362752913641215 CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_widgets.cpp.o d81abd5f968f8f53
1631 5297 1668362752961642610 CMakeFiles/Step_3.dir/src/graphics/imgui/imgui.cpp.o f152a6b2309aba93 1643 4329 1668365992255977427 CMakeFiles/Step_3.dir/src/graphics/graphics.cpp.o 53ce7d6ed877d888
5297 5505 1668362753169648656 Step_3 7f6959eaebe4da02 3 2388 1668366099751064298 CMakeFiles/Step_3.dir/src/graphics/gl/gl.cpp.o c67f39c07aae8f1c
1 1693 1668362807195219265 CMakeFiles/Step_3.dir/src/engine/util/models.cpp.o f8031520e846a554 2244 2466 1668362750133560403 CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_impl_opengl3.cpp.o 45a2ee53269bffeb
1 2108 1668362807611231362 CMakeFiles/Step_3.dir/src/engine/world.cpp.o fa088ebdd4dea6cb 3 2409 1668366099771064875 CMakeFiles/Step_3.dir/src/graphics/gl/shader.cpp.o 67f44a482b45cec6
2 2177 1668362807679233339 CMakeFiles/Step_3.dir/src/graphics/graphics.cpp.o 53ce7d6ed877d888 1 3762 1668365991687961136 CMakeFiles/Step_3.dir/src/engine/main.cpp.o 9281ecbfd964c525
1 2414 1668362807915240201 CMakeFiles/Step_3.dir/src/engine/raytracing.cpp.o 39bc1042baf06dcd 2 2096 1668366099455055788 CMakeFiles/Step_3.dir/src/engine/util/parser.cpp.o e9e3fe6fe9a4de66
1 2489 1668362807991242410 CMakeFiles/Step_3.dir/src/engine/main.cpp.o 9281ecbfd964c525 1 1317 1668366127087850511 CMakeFiles/Step_3.dir/src/engine/globals.cpp.o 3e7c95bef1d0ddaa
2489 2692 1668362808195248344 Step_3 7f6959eaebe4da02 2 1484 1668366127251855229 CMakeFiles/Step_3.dir/src/graphics/debug_gui.cpp.o 6b49c8b248d04bb6
1 965 1668362864276879195 CMakeFiles/Step_3.dir/src/engine/globals.cpp.o 3e7c95bef1d0ddaa 1 1710 1668366127479861791 CMakeFiles/Step_3.dir/src/engine/util/debug.cpp.o d5972a669671ede
1 1166 1668362864480885130 CMakeFiles/Step_3.dir/src/engine/util/debug.cpp.o d5972a669671ede 2 1916 1668366127683867658 CMakeFiles/Step_3.dir/src/engine/util/parser.cpp.o e9e3fe6fe9a4de66
1 2161 1668362865472913981 CMakeFiles/Step_3.dir/src/engine/raytracing.cpp.o 39bc1042baf06dcd 1 2037 1668366127807871226 CMakeFiles/Step_3.dir/src/engine/math/colliders.cpp.o 12778f168a75833b
1 2299 1668362865612918054 CMakeFiles/Step_3.dir/src/engine/main.cpp.o 9281ecbfd964c525 2 2162 1668366127931874794 CMakeFiles/Step_3.dir/src/graphics/gl/shader.cpp.o 67f44a482b45cec6
2299 2502 1668362865812923870 Step_3 7f6959eaebe4da02 1 2203 1668366127971875944 CMakeFiles/Step_3.dir/src/engine/util/models.cpp.o f8031520e846a554
1 1228 1668362988976506901 CMakeFiles/Step_3.dir/src/engine/util/debug.cpp.o d5972a669671ede 2 2309 1668366128079879051 CMakeFiles/Step_3.dir/src/graphics/gl/gl.cpp.o c67f39c07aae8f1c
1 2230 1668362989976535999 CMakeFiles/Step_3.dir/src/engine/raytracing.cpp.o 39bc1042baf06dcd 1484 2793 1668366128559892860 CMakeFiles/Step_3.dir/src/graphics/input.cpp.o 10752ac78f398bdb
1 2290 1668362990036537746 CMakeFiles/Step_3.dir/src/engine/main.cpp.o 9281ecbfd964c525 1 3051 1668366128819900341 CMakeFiles/Step_3.dir/src/engine/raytracing.cpp.o 39bc1042baf06dcd
1 1013 1668363015781286921 CMakeFiles/Step_3.dir/src/engine/globals.cpp.o 3e7c95bef1d0ddaa 2 3172 1668366128939903794 CMakeFiles/Step_3.dir/src/engine/world.cpp.o fa088ebdd4dea6cb
1014 1262 1668363016025294021 Step_3 7f6959eaebe4da02 1 3358 1668366129123909087 CMakeFiles/Step_3.dir/src/engine/main.cpp.o 9281ecbfd964c525
1 992 1668363033961816015 CMakeFiles/Step_3.dir/src/engine/globals.cpp.o 3e7c95bef1d0ddaa 1 3509 1668366129275913460 CMakeFiles/Step_3.dir/src/engine/image/image.cpp.o 4ca9d05ad8f3d295
1 1252 1668363034221823584 CMakeFiles/Step_3.dir/src/engine/util/debug.cpp.o d5972a669671ede 1317 3983 1668366129751927157 CMakeFiles/Step_3.dir/src/graphics/graphics.cpp.o 53ce7d6ed877d888
1 2232 1668363035201852107 CMakeFiles/Step_3.dir/src/engine/raytracing.cpp.o 39bc1042baf06dcd 3984 4314 1668366130079936592 Step_3 7f6959eaebe4da02
1 2254 1668363035221852687 CMakeFiles/Step_3.dir/src/engine/main.cpp.o 9281ecbfd964c525
2254 2476 1668363035445859208 Step_3 7f6959eaebe4da02

Binary file not shown.

View File

@ -1,3 +1,3 @@
Start testing: Nov 13 13:10 EST Start testing: Nov 13 14:02 EST
---------------------------------------------------------- ----------------------------------------------------------
End testing: Nov 13 13:10 EST End testing: Nov 13 14:02 EST

View File

@ -32,3 +32,74 @@
1 1710 1668362705092251375 CMakeFiles/Step_3.dir/src/engine/raytracing.cpp.o 11f0e227e9fda9ca 1 1710 1668362705092251375 CMakeFiles/Step_3.dir/src/engine/raytracing.cpp.o 11f0e227e9fda9ca
1 2005 1668362705384259861 CMakeFiles/Step_3.dir/src/engine/main.cpp.o 641dce3f86933e2e 1 2005 1668362705384259861 CMakeFiles/Step_3.dir/src/engine/main.cpp.o 641dce3f86933e2e
2005 2097 1668362705476262536 Step_3 f055ce2b85635598 2005 2097 1668362705476262536 Step_3 f055ce2b85635598
2 1272 1668363213055029566 CMakeFiles/Step_3.dir/src/engine/globals.cpp.o 4ef77d2224f86511
2 1432 1668363213215034227 CMakeFiles/Step_3.dir/src/engine/util/debug.cpp.o d86a254d2bce8f74
2 1683 1668363213467041565 CMakeFiles/Step_3.dir/src/engine/util/models.cpp.o 164394d360c43072
3 1733 1668363213515042961 CMakeFiles/Step_3.dir/src/graphics/graphics.cpp.o ce988de97a5cb51d
3 1931 1668363213715048785 CMakeFiles/Step_3.dir/src/engine/world.cpp.o 6470df278966c4
2 1954 1668363213739049483 CMakeFiles/Step_3.dir/src/engine/raytracing.cpp.o 11f0e227e9fda9ca
2 2289 1668363214071059151 CMakeFiles/Step_3.dir/src/engine/main.cpp.o 641dce3f86933e2e
2289 2410 1668363214191062645 Step_3 f055ce2b85635598
1 1208 1668364152310674596 CMakeFiles/Step_3.dir/src/engine/math/colliders.cpp.o 39e9f435096d066b
1 1510 1668364152614683513 CMakeFiles/Step_3.dir/src/graphics/gl/gl.cpp.o 330ad35a6abf06c3
2 1564 1668364152666685039 CMakeFiles/Step_3.dir/src/graphics/graphics.cpp.o ce988de97a5cb51d
1 1385 1668364289054683772 CMakeFiles/Step_3.dir/src/engine/util/models.cpp.o 164394d360c43072
2 1530 1668364289202688109 CMakeFiles/Step_3.dir/src/graphics/graphics.cpp.o ce988de97a5cb51d
2 1813 1668364289482696315 CMakeFiles/Step_3.dir/src/engine/world.cpp.o 6470df278966c4
1 1987 1668364289658701473 CMakeFiles/Step_3.dir/src/engine/raytracing.cpp.o 11f0e227e9fda9ca
1 2206 1668364289878707920 CMakeFiles/Step_3.dir/src/engine/main.cpp.o 641dce3f86933e2e
2206 2315 1668364289982710970 Step_3 f055ce2b85635598
2 1944 1668365722348270196 CMakeFiles/Step_3.dir/src/engine/main.cpp.o 641dce3f86933e2e
1944 2035 1668365722436272698 Step_3 f055ce2b85635598
1 1300 1668366223258619732 CMakeFiles/Step_3.dir/src/engine/math/colliders.cpp.o 39e9f435096d066b
2 1301 1668366223258619732 CMakeFiles/Step_3.dir/src/graphics/debug_gui.cpp.o 9493619f74acd06a
1 1382 1668366223338622038 CMakeFiles/Step_3.dir/src/engine/globals.cpp.o 4ef77d2224f86511
2 1641 1668366223598629532 CMakeFiles/Step_3.dir/src/engine/util/debug.cpp.o d86a254d2bce8f74
2 1660 1668366223618630108 CMakeFiles/Step_3.dir/src/graphics/gl/gl.cpp.o 330ad35a6abf06c3
2 1744 1668366223702632529 CMakeFiles/Step_3.dir/src/graphics/gl/shader.cpp.o 2553d57dba16057b
2 1909 1668366223866637256 CMakeFiles/Step_3.dir/src/engine/util/models.cpp.o 164394d360c43072
2 2095 1668366224050642556 CMakeFiles/Step_3.dir/src/engine/util/parser.cpp.o 1007c86c207ac940
1301 2392 1668366224350651205 CMakeFiles/Step_3.dir/src/graphics/input.cpp.o 510001b0955ab019
2 2453 1668366224410652933 CMakeFiles/Step_3.dir/src/engine/raytracing.cpp.o 11f0e227e9fda9ca
2 2479 1668366224434653626 CMakeFiles/Step_3.dir/src/engine/world.cpp.o 6470df278966c4
1 2602 1668366224558657200 CMakeFiles/Step_3.dir/src/engine/main.cpp.o 641dce3f86933e2e
1300 2954 1668366224910667345 CMakeFiles/Step_3.dir/src/graphics/graphics.cpp.o ce988de97a5cb51d
1 7659 1668366229618803041 CMakeFiles/Step_3.dir/src/engine/image/image.cpp.o 1c68ba16e6b4d09b
7659 7729 1668366229686805000 Step_3 f055ce2b85635598
3 1994 1668366292612619600 CMakeFiles/Step_3.dir/src/graphics/graphics.cpp.o ce988de97a5cb51d
2 1994 1668366292624619946 CMakeFiles/Step_3.dir/src/engine/util/models.cpp.o 164394d360c43072
2 1994 1668366292612619600 CMakeFiles/Step_3.dir/src/graphics/gl/gl.cpp.o 330ad35a6abf06c3
2 2406 1668366293180635989 CMakeFiles/Step_3.dir/src/engine/world.cpp.o 6470df278966c4
2 2527 1668366293300639450 CMakeFiles/Step_3.dir/src/engine/raytracing.cpp.o 11f0e227e9fda9ca
1 2658 1668366293432643257 CMakeFiles/Step_3.dir/src/engine/main.cpp.o 641dce3f86933e2e
2658 2744 1668366293516645683 Step_3 f055ce2b85635598
1 1246 1668366327169616852 CMakeFiles/Step_3.dir/src/graphics/gl/gl.cpp.o 330ad35a6abf06c3
1 1400 1668366327325621356 CMakeFiles/Step_3.dir/src/engine/util/models.cpp.o 164394d360c43072
2 1457 1668366327381622973 CMakeFiles/Step_3.dir/src/graphics/graphics.cpp.o ce988de97a5cb51d
1 2170 1668366328093643522 CMakeFiles/Step_3.dir/src/engine/main.cpp.o 641dce3f86933e2e
1 2192 1668366328117644217 CMakeFiles/Step_3.dir/src/engine/world.cpp.o 6470df278966c4
1 2211 1668366328133644679 CMakeFiles/Step_3.dir/src/engine/raytracing.cpp.o 11f0e227e9fda9ca
2211 2280 1668366328201646641 Step_3 f055ce2b85635598
2 1393 1668366431552631890 CMakeFiles/Step_3.dir/src/graphics/gl/gl.cpp.o 330ad35a6abf06c3
2 1607 1668366431768638134 CMakeFiles/Step_3.dir/src/graphics/graphics.cpp.o ce988de97a5cb51d
2 1645 1668366431808639289 CMakeFiles/Step_3.dir/src/engine/util/models.cpp.o 164394d360c43072
2 1992 1668366432152649232 CMakeFiles/Step_3.dir/src/engine/world.cpp.o 6470df278966c4
2 2096 1668366432256652239 CMakeFiles/Step_3.dir/src/engine/raytracing.cpp.o 11f0e227e9fda9ca
1 2208 1668366432368655476 CMakeFiles/Step_3.dir/src/engine/main.cpp.o 641dce3f86933e2e
2208 2278 1668366432440657557 Step_3 f055ce2b85635598
1 1579 1668366543867879961 CMakeFiles/Step_3.dir/src/graphics/graphics.cpp.o ce988de97a5cb51d
1580 1655 1668366543943882158 Step_3 f055ce2b85635598
2 1394 1668366561612393436 CMakeFiles/Step_3.dir/src/graphics/graphics.cpp.o ce988de97a5cb51d
1394 1480 1668366561696395867 Step_3 f055ce2b85635598
1 811 1668366640958690420 CMakeFiles/Step_3.dir/src/graphics/input.cpp.o 510001b0955ab019
1 1412 1668366641558707792 CMakeFiles/Step_3.dir/src/graphics/graphics.cpp.o ce988de97a5cb51d
1 1963 1668366642110723778 CMakeFiles/Step_3.dir/src/engine/main.cpp.o 641dce3f86933e2e
1963 2035 1668366642178725749 Step_3 f055ce2b85635598
1 820 1668366663439341462 CMakeFiles/Step_3.dir/src/graphics/input.cpp.o 510001b0955ab019
1 1408 1668366664027358491 CMakeFiles/Step_3.dir/src/graphics/graphics.cpp.o ce988de97a5cb51d
1 2072 1668366664691377723 CMakeFiles/Step_3.dir/src/engine/main.cpp.o 641dce3f86933e2e
2072 2145 1668366664763379807 Step_3 f055ce2b85635598
1 827 1668366742693637470 CMakeFiles/Step_3.dir/src/graphics/input.cpp.o 510001b0955ab019
1 1424 1668366743293654856 CMakeFiles/Step_3.dir/src/graphics/graphics.cpp.o ce988de97a5cb51d
1 1979 1668366743849670968 CMakeFiles/Step_3.dir/src/engine/main.cpp.o 641dce3f86933e2e
1979 2054 1668366743921673055 Step_3 f055ce2b85635598

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

View File

@ -1,3 +1,3 @@
Start testing: Nov 13 13:05 EST Start testing: Nov 13 14:12 EST
---------------------------------------------------------- ----------------------------------------------------------
End testing: Nov 13 13:05 EST End testing: Nov 13 14:12 EST

View File

@ -8,15 +8,25 @@
#include "engine/util/std.h" #include "engine/util/std.h"
#include "engine/types.h" #include "engine/types.h"
#include <config.h>
#ifdef COMPILE_GUI
#include <graphics/gl/gl.h>
#endif
#include <utility> #include <utility>
#include <cassert>
// A currently pure header implementation of a BVH. TODO: make source file. // A currently pure header implementation of a BVH. TODO: make source file.
// this is also for testing and might not make it into the step 2. // this is also for testing and might not make it into the step 2.
namespace Raytracing { namespace Raytracing {
#ifdef COMPILE_GUI
struct BVHDebugVAO {
VAO* vaoPtr;
Vec4 position;
};
#endif
struct BVHObject { struct BVHObject {
Object* ptr = nullptr; Object* ptr = nullptr;
AABB aabb; AABB aabb;
@ -43,6 +53,9 @@ namespace Raytracing {
class BVHTree { class BVHTree {
private: private:
#ifdef COMPILE_GUI
std::vector<BVHDebugVAO> aabbVAOs;
#endif
const int MAX_TREE_DEPTH = 50; const int MAX_TREE_DEPTH = 50;
BVHNode* root = nullptr; BVHNode* root = nullptr;
@ -52,7 +65,7 @@ namespace Raytracing {
for (const auto& obj: objs) { for (const auto& obj: objs) {
// if this object doesn't have an AABB, we cannot use a BVH on it // if this object doesn't have an AABB, we cannot use a BVH on it
// If this ever fails we have a problem with the implementation. // If this ever fails we have a problem with the implementation.
assert(!obj.aabb.isEmpty()); RTAssert(!obj.aabb.isEmpty());
if (obj.aabb.intersects(aabbs.first)) { if (obj.aabb.intersects(aabbs.first)) {
space.left.push_back(obj); space.left.push_back(obj);
} }
@ -133,6 +146,20 @@ namespace Raytracing {
noAABBObjects.push_back(obj); noAABBObjects.push_back(obj);
continue; continue;
} }
#ifdef COMPILE_GUI
// create a VAO for debugging the AABB bounds.
BVHDebugVAO vaoStorage {};
auto aabbCenter = obj->getAABB().getCenter();
auto aabbXRadius = obj->getAABB().getXRadius(aabbCenter);
auto aabbYRadius = obj->getAABB().getYRadius(aabbCenter);
auto aabbZRadius = obj->getAABB().getZRadius(aabbCenter);
auto aabbVertexData = Shapes::cubeVertexBuilder::getCubeExtends(float(aabbXRadius), float(aabbYRadius), float(aabbZRadius));
vaoStorage.vaoPtr = new VAO(aabbVertexData.cubeVerticesRaw, aabbVertexData.cubeUVs);
vaoStorage.position = obj->getPosition();
aabbVAOs.push_back(vaoStorage);
#endif
BVHObject bvhObject; BVHObject bvhObject;
// returns a copy of the AABB object and assigns it in to the tree storage object // returns a copy of the AABB object and assigns it in to the tree storage object
bvhObject.aabb = obj->getAABB().translate(obj->getPosition()); bvhObject.aabb = obj->getAABB().translate(obj->getPosition());
@ -147,8 +174,25 @@ namespace Raytracing {
return traverseFindRayIntersection(root, ray, min, max); return traverseFindRayIntersection(root, ray, min, max);
} }
#ifdef COMPILE_GUI
// renders all the debug VAOs on screen.
void render (Shader& worldShader){
worldShader.use();
worldShader.setInt("useWhite", 1);
for (const auto& debugVAO : aabbVAOs){
debugVAO.vaoPtr->bind();
debugVAO.vaoPtr->draw(worldShader, {debugVAO.position});
}
worldShader.setInt("useWhite", 0);
}
#endif
~BVHTree() { ~BVHTree() {
delete (root); delete (root);
#ifdef COMPILE_GUI
for (const auto& debugVAORef : aabbVAOs)
delete(debugVAORef.vaoPtr);
#endif
} }
}; };

View File

@ -104,6 +104,16 @@ namespace Raytracing {
[[nodiscard]] Vec4 getMin() const { return min; } [[nodiscard]] Vec4 getMin() const { return min; }
[[nodiscard]] Vec4 getMax() const { return max; } [[nodiscard]] Vec4 getMax() const { return max; }
inline PRECISION_TYPE getXRadius(const Vec4& center){
return max.x() - center.x();
}
inline PRECISION_TYPE getYRadius(const Vec4& center){
return max.y() - center.y();
}
inline PRECISION_TYPE getZRadius(const Vec4& center){
return max.z() - center.z();
}
}; };

View File

@ -28,6 +28,8 @@
#include <cstdlib> #include <cstdlib>
#include <memory> #include <memory>
#define RTAssert(condition) static_cast <bool> (condition) ? void(0) : throw std::runtime_error("Assert Failed!");
/** /**
* defines * defines
*/ */

View File

@ -11,6 +11,7 @@
#include "engine/util/models.h" #include "engine/util/models.h"
#include "engine/math/bvh.h" #include "engine/math/bvh.h"
#include "types.h" #include "types.h"
#include "graphics/gl/shader.h"
#include <utility> #include <utility>
@ -125,6 +126,9 @@ namespace Raytracing {
// Called by the raytracer class after all objects have been added to the world // Called by the raytracer class after all objects have been added to the world
// this allows us to generate a statically unchanging BVH for easy rendering // this allows us to generate a statically unchanging BVH for easy rendering
void generateBVH(); void generateBVH();
#ifdef COMPILE_GUI
void drawBVH(Shader& worldShader) {bvhObjects->render(worldShader);}
#endif
inline void add(Object* object) { objects.push_back(object); } inline void add(Object* object) { objects.push_back(object); }

View File

@ -125,48 +125,51 @@ class Shapes {
}; };
static cubeVertexBuilder getCubeExtends(float xRadius, float yRadius, float zRadius) { static cubeVertexBuilder getCubeExtends(float xRadius, float yRadius, float zRadius) {
cubeVertexBuilder builder {}; cubeVertexBuilder builder {};
// Can we use the transformation matrix? Yes.
// Are we going to? No.
// Why? No good reason. Perhaps a TODO:?
builder.cubeVerticesRaw = { builder.cubeVerticesRaw = {
-0.5f, -0.5f, -zRadius, -xRadius, -yRadius, -zRadius,
0.5f, -0.5f, -zRadius, xRadius, -yRadius, -zRadius,
0.5f, 0.5f, -zRadius, xRadius, yRadius, -zRadius,
0.5f, 0.5f, -zRadius, xRadius, yRadius, -zRadius,
-0.5f, 0.5f, -zRadius, -xRadius, yRadius, -zRadius,
-0.5f, -0.5f, -zRadius, -xRadius, -yRadius, -zRadius,
-0.5f, -0.5f, zRadius, -xRadius, -yRadius, zRadius,
0.5f, -0.5f, zRadius, xRadius, -yRadius, zRadius,
0.5f, 0.5f, zRadius, xRadius, yRadius, zRadius,
0.5f, 0.5f, zRadius, xRadius, yRadius, zRadius,
-0.5f, 0.5f, zRadius, -xRadius, yRadius, zRadius,
-0.5f, -0.5f, zRadius, -xRadius, -yRadius, zRadius,
-xRadius, 0.5f, 0.5f, -xRadius, yRadius, zRadius,
-xRadius, 0.5f, -0.5f, -xRadius, yRadius, -zRadius,
-xRadius, -0.5f, -0.5f, -xRadius, -yRadius, -zRadius,
-xRadius, -0.5f, -0.5f, -xRadius, -yRadius, -zRadius,
-xRadius, -0.5f, 0.5f, -xRadius, -yRadius, zRadius,
-xRadius, 0.5f, 0.5f, -xRadius, yRadius, zRadius,
xRadius, 0.5f, 0.5f, xRadius, yRadius, zRadius,
xRadius, 0.5f, -0.5f, xRadius, yRadius, -zRadius,
xRadius, -0.5f, -0.5f, xRadius, -yRadius, -zRadius,
xRadius, -0.5f, -0.5f, xRadius, -yRadius, -zRadius,
xRadius, -0.5f, 0.5f, xRadius, -yRadius, zRadius,
xRadius, 0.5f, 0.5f, xRadius, yRadius, zRadius,
-0.5f, -yRadius, -0.5f, -xRadius, -yRadius, -zRadius,
0.5f, -yRadius, -0.5f, xRadius, -yRadius, -zRadius,
0.5f, -yRadius, 0.5f, xRadius, -yRadius, zRadius,
0.5f, -yRadius, 0.5f, xRadius, -yRadius, zRadius,
-0.5f, -yRadius, 0.5f, -xRadius, -yRadius, zRadius,
-0.5f, -yRadius, -0.5f, -xRadius, -yRadius, -zRadius,
-0.5f, yRadius, -0.5f, -xRadius, yRadius, -zRadius,
0.5f, yRadius, -0.5f, xRadius, yRadius, -zRadius,
0.5f, yRadius, 0.5f, xRadius, yRadius, zRadius,
0.5f, yRadius, 0.5f, xRadius, yRadius, zRadius,
-0.5f, yRadius, 0.5f, -xRadius, yRadius, zRadius,
-0.5f, yRadius, -0.5f, -xRadius, yRadius, -zRadius,
}; };
return builder; return builder;
} }

View File

@ -132,11 +132,10 @@ int main(int argc, char** args) {
world.add(new Raytracing::ModelObject({0, 0, -5}, house, world.getMaterial("blueDiffuse"))); world.add(new Raytracing::ModelObject({0, 0, -5}, house, world.getMaterial("blueDiffuse")));
world.add(new Raytracing::ModelObject({0, 0, 5}, house, world.getMaterial("blueDiffuse"))); world.add(new Raytracing::ModelObject({0, 0, 5}, house, world.getMaterial("blueDiffuse")));
Raytracing::Raycaster raycaster {camera, image, world, parser};
if (parser.hasOption("--gui") || parser.hasOption("-g")) { if (parser.hasOption("--gui") || parser.hasOption("-g")) {
#ifdef COMPILE_GUI #ifdef COMPILE_GUI
XWindow window(1440, 720); XWindow window(1440, 720);
Raytracing::Raycaster raycaster {camera, image, world, parser};
Texture mainImage(&image); Texture mainImage(&image);
auto spiderVAO = new VAO(spider.toTriangles()); auto spiderVAO = new VAO(spider.toTriangles());
auto houseVAO = new VAO(house.toTriangles()); auto houseVAO = new VAO(house.toTriangles());
@ -147,6 +146,9 @@ int main(int argc, char** args) {
while (!window.shouldWindowClose()) { while (!window.shouldWindowClose()) {
window.beginUpdate(); window.beginUpdate();
renderer.draw(); renderer.draw();
glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
world.drawBVH(worldShader);
glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
window.endUpdate(); window.endUpdate();
} }
*haltExecution = true; *haltExecution = true;
@ -158,6 +160,7 @@ int main(int argc, char** args) {
flog << "Program not compiled with GUI support! Unable to continue!\n"; flog << "Program not compiled with GUI support! Unable to continue!\n";
#endif #endif
} else { } else {
Raytracing::Raycaster raycaster {camera, image, world, parser};
// run the raycaster the standard way // run the raycaster the standard way
ilog << "Running raycaster!\n"; ilog << "Running raycaster!\n";
if(parser.hasOption("--multi")) { if(parser.hasOption("--multi")) {

View File

@ -105,14 +105,14 @@ namespace Raytracing {
glfwSetKeyCallback(window, [](GLFWwindow* _window, int key, int scancode, int action, int mods) -> void { glfwSetKeyCallback(window, [](GLFWwindow* _window, int key, int scancode, int action, int mods) -> void {
if (action == GLFW_PRESS) if (action == GLFW_PRESS)
Input::keyPressed(key); Input::keyPressed(key);
else else if (action == GLFW_RELEASE)
Input::keyReleased(key); Input::keyReleased(key);
}); });
glfwSetMouseButtonCallback(window, [](GLFWwindow* _window, int button, int action, int mods) -> void { glfwSetMouseButtonCallback(window, [](GLFWwindow* _window, int button, int action, int mods) -> void {
if (action == GLFW_PRESS) if (action == GLFW_PRESS)
Input::mousePressed(button); Input::mousePressed(button);
else else if (action == GLFW_RELEASE)
Input::mouseReleased(button); Input::mouseReleased(button);
}); });
@ -517,7 +517,12 @@ namespace Raytracing {
pitch += (float) Input::getMouseDelta().y * (1000.0f / ImGui::GetIO().Framerate / 1000.0f) * 1.5f; pitch += (float) Input::getMouseDelta().y * (1000.0f / ImGui::GetIO().Framerate / 1000.0f) * 1.5f;
PRECISION_TYPE moveAtX = 0, moveAtY = 0, moveAtZ = 0; PRECISION_TYPE moveAtX = 0, moveAtY = 0, moveAtZ = 0;
const PRECISION_TYPE speed = 40.0f; PRECISION_TYPE speed = 40.0f;
if (Input::isKeyDown(GLFW_KEY_LEFT_ALT))
speed = 5.0f;
if (Input::isKeyDown(GLFW_KEY_LEFT_CONTROL))
speed = speed * 2;
if (Input::isKeyDown(GLFW_KEY_W)) if (Input::isKeyDown(GLFW_KEY_W))
moveAtX = speed * m_window.getFrameTimeSeconds(); moveAtX = speed * m_window.getFrameTimeSeconds();