Final commit before submitting step2

main
Brett 2022-10-19 19:08:22 -04:00
parent 61c210b662
commit e320836909
54 changed files with 670 additions and 1118 deletions

View File

@ -3,12 +3,16 @@ project(Step_2)
set(CMAKE_CXX_STANDARD 20)
# used to debug memory related issues
if (UNIX AND (CMAKE_BUILD_TYPE MATCHES Debug))
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address -g")
add_compile_options(-fsanitize=address)
add_link_options(-fsanitize=address)
endif()
# enables AVX instructions. if you have issues, try disabling this.
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native")
#Setup project source compilation
set(source_dir "${PROJECT_SOURCE_DIR}/src/")
file(GLOB_RECURSE source_files "${source_dir}/*.cpp")

View File

@ -39,7 +39,7 @@
{
"directoryIndex" : 0,
"id" : "Step_2::@6890427a1f51a3e7e1df",
"jsonFile" : "target-Step_2-Debug-b0871e2c8ceabdb41cb5.json",
"jsonFile" : "target-Step_2-Debug-111f8a3ac278f773e1d4.json",
"name" : "Step_2",
"projectIndex" : 0
}

View File

@ -26,7 +26,7 @@
"objects" :
[
{
"jsonFile" : "codemodel-v2-ca2b9c3b4517daeec0b9.json",
"jsonFile" : "codemodel-v2-a2642f372b53573ff793.json",
"kind" : "codemodel",
"version" :
{
@ -86,7 +86,7 @@
},
"codemodel-v2" :
{
"jsonFile" : "codemodel-v2-ca2b9c3b4517daeec0b9.json",
"jsonFile" : "codemodel-v2-a2642f372b53573ff793.json",
"kind" : "codemodel",
"version" :
{

View File

@ -27,25 +27,25 @@
{
"command" : 0,
"file" : 0,
"line" : 20,
"line" : 24,
"parent" : 0
},
{
"command" : 1,
"file" : 0,
"line" : 9,
"line" : 10,
"parent" : 0
},
{
"command" : 2,
"file" : 0,
"line" : 8,
"line" : 9,
"parent" : 0
},
{
"command" : 3,
"file" : 0,
"line" : 18,
"line" : 22,
"parent" : 0
}
]
@ -56,7 +56,7 @@
"compileCommandFragments" :
[
{
"fragment" : " -fsanitize=address -g -g"
"fragment" : " -fsanitize=address -g -march=native -g"
},
{
"backtrace" : 3,
@ -102,7 +102,7 @@
"commandFragments" :
[
{
"fragment" : "-fsanitize=address -g -g",
"fragment" : "-fsanitize=address -g -march=native -g",
"role" : "flags"
},
{

Binary file not shown.

View File

@ -1,88 +1,11 @@
# ninja log v5
1 1226 1666137807547706006 CMakeFiles/Step_2.dir/src/main.cpp.o 2fb1ddffcef25127
1 1267 1666137493803063763 CMakeFiles/Step_2.dir/src/math/colliders.cpp.o a8a5f894b3fe853c
2 1042 1666119401958989993 CMakeFiles/Step_2.dir/src/util/parser.cpp.o dc1044c577ff67b5
1 907 1666137807227691822 CMakeFiles/Step_2.dir/src/raytracing.cpp.o cfda37b51895cd7e
1227 1315 1666137807635709904 Step_2 a4a11c3e604093b2
1 889 1666120427784383680 CMakeFiles/Step_2.dir/src/util/debug.cpp.o bb1e92ec93606b34
1 985 1666137807307695367 CMakeFiles/Step_2.dir/src/util/models.cpp.o 637cb95d94c45aa5
1 765 1666120427660380125 CMakeFiles/Step_2.dir/src/globals.cpp.o 9579c877d4b65af0
1 1075 1666137807395699266 CMakeFiles/Step_2.dir/src/world.cpp.o abef135c83fe5bb1
1 1271 1666119402186996525 CMakeFiles/Step_2.dir/src/image/image.cpp.o 13adbb05fcabbeec
1 894 1666137931540979015 CMakeFiles/Step_2.dir/src/math/colliders.cpp.o 961741316937a4a5
1 951 1666137931596981302 CMakeFiles/Step_2.dir/src/globals.cpp.o 5bebf7bde55fd4af
1 961 1666137931608981794 CMakeFiles/Step_2.dir/src/raytracing.cpp.o f57e640d9f276756
1 1250 1666137931896993564 CMakeFiles/Step_2.dir/src/util/debug.cpp.o da2051938d8a4958
1 1302 1666137931948995690 CMakeFiles/Step_2.dir/src/image/image.cpp.o a6a5848b13043c30
2 1340 1666137931984997161 CMakeFiles/Step_2.dir/src/world.cpp.o 528709b06ba304b9
2 1408 1666137932052999939 CMakeFiles/Step_2.dir/src/util/models.cpp.o 507adcdc012771a9
2 1433 1666137932077000920 CMakeFiles/Step_2.dir/src/util/parser.cpp.o e9d3901d3a711cd
1 1509 1666137932153004024 CMakeFiles/Step_2.dir/src/main.cpp.o 6490b92c9a765459
1509 1601 1666137932245007783 Step_2 ba935c9c2d26b32e
0 946 1666137973998692682 CMakeFiles/Step_2.dir/src/raytracing.cpp.o f57e640d9f276756
0 1065 1666137974118697465 CMakeFiles/Step_2.dir/src/util/models.cpp.o 507adcdc012771a9
1 1245 1666137974294704480 CMakeFiles/Step_2.dir/src/world.cpp.o 528709b06ba304b9
0 1410 1666137974462711175 CMakeFiles/Step_2.dir/src/main.cpp.o 6490b92c9a765459
1410 1495 1666137974546714524 Step_2 ba935c9c2d26b32e
1 949 1666145509856515246 CMakeFiles/Step_2.dir/src/math/colliders.cpp.o 961741316937a4a5
1 1015 1666145509920516639 CMakeFiles/Step_2.dir/src/raytracing.cpp.o f57e640d9f276756
1 1124 1666145510028518987 CMakeFiles/Step_2.dir/src/util/models.cpp.o 507adcdc012771a9
1 1326 1666145510228523340 CMakeFiles/Step_2.dir/src/world.cpp.o 528709b06ba304b9
0 1489 1666145510392526908 CMakeFiles/Step_2.dir/src/main.cpp.o 6490b92c9a765459
1489 1592 1666145510496529172 Step_2 ba935c9c2d26b32e
1 949 1666145677992183942 CMakeFiles/Step_2.dir/src/raytracing.cpp.o f57e640d9f276756
1 1067 1666145678112186566 CMakeFiles/Step_2.dir/src/util/models.cpp.o 507adcdc012771a9
1 1262 1666145678304190767 CMakeFiles/Step_2.dir/src/world.cpp.o 528709b06ba304b9
1 1433 1666145678476194526 CMakeFiles/Step_2.dir/src/main.cpp.o 6490b92c9a765459
1433 1521 1666145678564196453 Step_2 ba935c9c2d26b32e
1 903 1666145713360957883 CMakeFiles/Step_2.dir/src/raytracing.cpp.o f57e640d9f276756
1 1011 1666145713468960248 CMakeFiles/Step_2.dir/src/util/models.cpp.o 507adcdc012771a9
1 1143 1666145713600963137 CMakeFiles/Step_2.dir/src/world.cpp.o 528709b06ba304b9
1 1350 1666145713808967689 CMakeFiles/Step_2.dir/src/main.cpp.o 6490b92c9a765459
1350 1437 1666145713896969617 Step_2 ba935c9c2d26b32e
1 886 1666145918908143778 CMakeFiles/Step_2.dir/src/raytracing.cpp.o f57e640d9f276756
1 991 1666145919012154044 CMakeFiles/Step_2.dir/src/util/models.cpp.o 507adcdc012771a9
1 1117 1666145919136166272 CMakeFiles/Step_2.dir/src/world.cpp.o 528709b06ba304b9
1 1353 1666145919372189538 CMakeFiles/Step_2.dir/src/main.cpp.o 6490b92c9a765459
1353 1439 1666145919460198214 Step_2 ba935c9c2d26b32e
0 918 1666145941034295533 CMakeFiles/Step_2.dir/src/raytracing.cpp.o f57e640d9f276756
0 1000 1666145941114303198 CMakeFiles/Step_2.dir/src/util/models.cpp.o 507adcdc012771a9
1 1168 1666145941282319295 CMakeFiles/Step_2.dir/src/world.cpp.o 528709b06ba304b9
0 1383 1666145941498339991 CMakeFiles/Step_2.dir/src/main.cpp.o 6490b92c9a765459
1383 1470 1666145941586348422 Step_2 ba935c9c2d26b32e
1 904 1666146018509369816 CMakeFiles/Step_2.dir/src/raytracing.cpp.o f57e640d9f276756
1 1084 1666146018693385822 CMakeFiles/Step_2.dir/src/util/models.cpp.o 507adcdc012771a9
1 1169 1666146018773392781 CMakeFiles/Step_2.dir/src/world.cpp.o 528709b06ba304b9
1 1322 1666146018929406350 CMakeFiles/Step_2.dir/src/main.cpp.o 6490b92c9a765459
1322 1407 1666146019013413658 Step_2 ba935c9c2d26b32e
1 1050 1666146255207394610 CMakeFiles/Step_2.dir/src/raytracing.cpp.o f57e640d9f276756
1 1335 1666146255487413328 CMakeFiles/Step_2.dir/src/world.cpp.o 528709b06ba304b9
1 1543 1666146255699427499 CMakeFiles/Step_2.dir/src/main.cpp.o 6490b92c9a765459
1543 1642 1666146255795433918 Step_2 ba935c9c2d26b32e
1 908 1666147600903596279 CMakeFiles/Step_2.dir/src/raytracing.cpp.o f57e640d9f276756
1 1037 1666147601031600780 CMakeFiles/Step_2.dir/src/util/models.cpp.o 507adcdc012771a9
1 1397 1666147601391613427 CMakeFiles/Step_2.dir/src/main.cpp.o 6490b92c9a765459
1 1143 1666147615064093392 CMakeFiles/Step_2.dir/src/world.cpp.o 528709b06ba304b9
1143 1234 1666147615156096617 Step_2 ba935c9c2d26b32e
1 917 1666147894448951725 CMakeFiles/Step_2.dir/src/raytracing.cpp.o f57e640d9f276756
1 1006 1666147894536953463 CMakeFiles/Step_2.dir/src/util/models.cpp.o 507adcdc012771a9
1 1137 1666147894664955988 CMakeFiles/Step_2.dir/src/world.cpp.o 528709b06ba304b9
1 1342 1666147894872960096 CMakeFiles/Step_2.dir/src/main.cpp.o 6490b92c9a765459
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
1 1176 1666150252074198441 CMakeFiles/Step_2.dir/src/math/colliders.cpp.o 961741316937a4a5
2 1433 1666137932077000920 CMakeFiles/Step_2.dir/src/util/parser.cpp.o e9d3901d3a711cd
1 902 1666150926996912836 CMakeFiles/Step_2.dir/src/raytracing.cpp.o f57e640d9f276756
1260 1355 1666150927448925842 Step_2 ba935c9c2d26b32e
1 1250 1666137931896993564 CMakeFiles/Step_2.dir/src/util/debug.cpp.o da2051938d8a4958
1 1367 1666150651957086402 CMakeFiles/Step_2.dir/src/util/models.cpp.o 507adcdc012771a9
1 951 1666137931596981302 CMakeFiles/Step_2.dir/src/globals.cpp.o 5bebf7bde55fd4af
1 1036 1666150927132916751 CMakeFiles/Step_2.dir/src/world.cpp.o 528709b06ba304b9
1 1302 1666137931948995690 CMakeFiles/Step_2.dir/src/image/image.cpp.o a6a5848b13043c30

View File

@ -51,63 +51,63 @@ build cmake_object_order_depends_target_Step_2: phony || CMakeFiles/Step_2.dir
build CMakeFiles/Step_2.dir/src/globals.cpp.o: CXX_COMPILER__Step_2_Debug /home/brett/Documents/Brock/CS$ 3P93/Project/Step$ 2/src/globals.cpp || cmake_object_order_depends_target_Step_2
DEP_FILE = CMakeFiles/Step_2.dir/src/globals.cpp.o.d
FLAGS = -fsanitize=address -g -g -fsanitize=address -std=gnu++20
FLAGS = -fsanitize=address -g -march=native -g -fsanitize=address -std=gnu++20
INCLUDES = -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 2/include"
OBJECT_DIR = CMakeFiles/Step_2.dir
OBJECT_FILE_DIR = CMakeFiles/Step_2.dir/src
build CMakeFiles/Step_2.dir/src/image/image.cpp.o: CXX_COMPILER__Step_2_Debug /home/brett/Documents/Brock/CS$ 3P93/Project/Step$ 2/src/image/image.cpp || cmake_object_order_depends_target_Step_2
DEP_FILE = CMakeFiles/Step_2.dir/src/image/image.cpp.o.d
FLAGS = -fsanitize=address -g -g -fsanitize=address -std=gnu++20
FLAGS = -fsanitize=address -g -march=native -g -fsanitize=address -std=gnu++20
INCLUDES = -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 2/include"
OBJECT_DIR = CMakeFiles/Step_2.dir
OBJECT_FILE_DIR = CMakeFiles/Step_2.dir/src/image
build CMakeFiles/Step_2.dir/src/main.cpp.o: CXX_COMPILER__Step_2_Debug /home/brett/Documents/Brock/CS$ 3P93/Project/Step$ 2/src/main.cpp || cmake_object_order_depends_target_Step_2
DEP_FILE = CMakeFiles/Step_2.dir/src/main.cpp.o.d
FLAGS = -fsanitize=address -g -g -fsanitize=address -std=gnu++20
FLAGS = -fsanitize=address -g -march=native -g -fsanitize=address -std=gnu++20
INCLUDES = -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 2/include"
OBJECT_DIR = CMakeFiles/Step_2.dir
OBJECT_FILE_DIR = CMakeFiles/Step_2.dir/src
build CMakeFiles/Step_2.dir/src/math/colliders.cpp.o: CXX_COMPILER__Step_2_Debug /home/brett/Documents/Brock/CS$ 3P93/Project/Step$ 2/src/math/colliders.cpp || cmake_object_order_depends_target_Step_2
DEP_FILE = CMakeFiles/Step_2.dir/src/math/colliders.cpp.o.d
FLAGS = -fsanitize=address -g -g -fsanitize=address -std=gnu++20
FLAGS = -fsanitize=address -g -march=native -g -fsanitize=address -std=gnu++20
INCLUDES = -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 2/include"
OBJECT_DIR = CMakeFiles/Step_2.dir
OBJECT_FILE_DIR = CMakeFiles/Step_2.dir/src/math
build CMakeFiles/Step_2.dir/src/raytracing.cpp.o: CXX_COMPILER__Step_2_Debug /home/brett/Documents/Brock/CS$ 3P93/Project/Step$ 2/src/raytracing.cpp || cmake_object_order_depends_target_Step_2
DEP_FILE = CMakeFiles/Step_2.dir/src/raytracing.cpp.o.d
FLAGS = -fsanitize=address -g -g -fsanitize=address -std=gnu++20
FLAGS = -fsanitize=address -g -march=native -g -fsanitize=address -std=gnu++20
INCLUDES = -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 2/include"
OBJECT_DIR = CMakeFiles/Step_2.dir
OBJECT_FILE_DIR = CMakeFiles/Step_2.dir/src
build CMakeFiles/Step_2.dir/src/util/debug.cpp.o: CXX_COMPILER__Step_2_Debug /home/brett/Documents/Brock/CS$ 3P93/Project/Step$ 2/src/util/debug.cpp || cmake_object_order_depends_target_Step_2
DEP_FILE = CMakeFiles/Step_2.dir/src/util/debug.cpp.o.d
FLAGS = -fsanitize=address -g -g -fsanitize=address -std=gnu++20
FLAGS = -fsanitize=address -g -march=native -g -fsanitize=address -std=gnu++20
INCLUDES = -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 2/include"
OBJECT_DIR = CMakeFiles/Step_2.dir
OBJECT_FILE_DIR = CMakeFiles/Step_2.dir/src/util
build CMakeFiles/Step_2.dir/src/util/models.cpp.o: CXX_COMPILER__Step_2_Debug /home/brett/Documents/Brock/CS$ 3P93/Project/Step$ 2/src/util/models.cpp || cmake_object_order_depends_target_Step_2
DEP_FILE = CMakeFiles/Step_2.dir/src/util/models.cpp.o.d
FLAGS = -fsanitize=address -g -g -fsanitize=address -std=gnu++20
FLAGS = -fsanitize=address -g -march=native -g -fsanitize=address -std=gnu++20
INCLUDES = -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 2/include"
OBJECT_DIR = CMakeFiles/Step_2.dir
OBJECT_FILE_DIR = CMakeFiles/Step_2.dir/src/util
build CMakeFiles/Step_2.dir/src/util/parser.cpp.o: CXX_COMPILER__Step_2_Debug /home/brett/Documents/Brock/CS$ 3P93/Project/Step$ 2/src/util/parser.cpp || cmake_object_order_depends_target_Step_2
DEP_FILE = CMakeFiles/Step_2.dir/src/util/parser.cpp.o.d
FLAGS = -fsanitize=address -g -g -fsanitize=address -std=gnu++20
FLAGS = -fsanitize=address -g -march=native -g -fsanitize=address -std=gnu++20
INCLUDES = -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 2/include"
OBJECT_DIR = CMakeFiles/Step_2.dir
OBJECT_FILE_DIR = CMakeFiles/Step_2.dir/src/util
build CMakeFiles/Step_2.dir/src/world.cpp.o: CXX_COMPILER__Step_2_Debug /home/brett/Documents/Brock/CS$ 3P93/Project/Step$ 2/src/world.cpp || cmake_object_order_depends_target_Step_2
DEP_FILE = CMakeFiles/Step_2.dir/src/world.cpp.o.d
FLAGS = -fsanitize=address -g -g -fsanitize=address -std=gnu++20
FLAGS = -fsanitize=address -g -march=native -g -fsanitize=address -std=gnu++20
INCLUDES = -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 2/include"
OBJECT_DIR = CMakeFiles/Step_2.dir
OBJECT_FILE_DIR = CMakeFiles/Step_2.dir/src
@ -121,7 +121,7 @@ build CMakeFiles/Step_2.dir/src/world.cpp.o: CXX_COMPILER__Step_2_Debug /home/br
# Link the executable Step_2
build Step_2: CXX_EXECUTABLE_LINKER__Step_2_Debug CMakeFiles/Step_2.dir/src/globals.cpp.o CMakeFiles/Step_2.dir/src/image/image.cpp.o CMakeFiles/Step_2.dir/src/main.cpp.o CMakeFiles/Step_2.dir/src/math/colliders.cpp.o CMakeFiles/Step_2.dir/src/raytracing.cpp.o CMakeFiles/Step_2.dir/src/util/debug.cpp.o CMakeFiles/Step_2.dir/src/util/models.cpp.o CMakeFiles/Step_2.dir/src/util/parser.cpp.o CMakeFiles/Step_2.dir/src/world.cpp.o
FLAGS = -fsanitize=address -g -g
FLAGS = -fsanitize=address -g -march=native -g
LINK_FLAGS = -fsanitize=address
OBJECT_DIR = CMakeFiles/Step_2.dir
POST_BUILD = :

View File

@ -79,7 +79,7 @@
}
],
"type" : "INTERNAL",
"value" : "24"
"value" : "23"
},
{
"name" : "CMAKE_CACHE_PATCH_VERSION",
@ -103,7 +103,7 @@
}
],
"type" : "INTERNAL",
"value" : "/usr/bin/cmake"
"value" : "/opt/netbrains/clion/clion-2022.1.3/bin/cmake/linux/bin/cmake"
},
{
"name" : "CMAKE_CPACK_COMMAND",
@ -115,7 +115,7 @@
}
],
"type" : "INTERNAL",
"value" : "/usr/bin/cpack"
"value" : "/opt/netbrains/clion/clion-2022.1.3/bin/cmake/linux/bin/cpack"
},
{
"name" : "CMAKE_CTEST_COMMAND",
@ -127,7 +127,7 @@
}
],
"type" : "INTERNAL",
"value" : "/usr/bin/ctest"
"value" : "/opt/netbrains/clion/clion-2022.1.3/bin/cmake/linux/bin/ctest"
},
{
"name" : "CMAKE_CXX_COMPILER",
@ -887,7 +887,7 @@
}
],
"type" : "INTERNAL",
"value" : "/usr/share/cmake-3.24"
"value" : "/opt/netbrains/clion/clion-2022.1.3/bin/cmake/linux/share/cmake-3.23"
},
{
"name" : "CMAKE_SHARED_LINKER_FLAGS",

View File

@ -1,739 +0,0 @@
{
"inputs" :
[
{
"path" : "CMakeLists.txt"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/CMakeDetermineSystem.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/CMakeSystem.cmake.in"
},
{
"isGenerated" : true,
"path" : "cmake-build-release/CMakeFiles/3.24.2/CMakeSystem.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/CMakeSystemSpecificInitialize.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/CMakeDetermineCCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/CMakeDetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/CMakeDetermineCompilerId.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/CMakeCompilerIdDetection.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/ADSP-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/ARMCC-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/ARMClang-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/AppleClang-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/Clang-DetermineCompilerInternal.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/Borland-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/Bruce-C-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/Clang-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/Clang-DetermineCompilerInternal.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/Compaq-C-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/Cray-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/Embarcadero-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/Fujitsu-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/GHS-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/GNU-C-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/HP-C-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/IAR-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/IBMClang-C-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/Intel-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/LCC-C-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/MSVC-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/NVHPC-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/NVIDIA-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/PGI-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/PathScale-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/SCO-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/SDCC-C-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/SunPro-C-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/TI-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/Watcom-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/XL-C-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/XLClang-C-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/zOS-C-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/CMakeFindBinUtils.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/GNU-FindBinUtils.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/CMakeCCompiler.cmake.in"
},
{
"isGenerated" : true,
"path" : "cmake-build-release/CMakeFiles/3.24.2/CMakeCCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/CMakeDetermineCXXCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/CMakeDetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Platform/Linux-Determine-CXX.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/CMakeDetermineCompilerId.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/CMakeCompilerIdDetection.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/ADSP-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/ARMCC-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/ARMClang-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/AppleClang-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/Clang-DetermineCompilerInternal.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/Borland-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/Clang-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/Clang-DetermineCompilerInternal.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/Cray-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/Embarcadero-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/Fujitsu-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/GHS-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/HP-CXX-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/IAR-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/IBMClang-CXX-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/Intel-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/LCC-CXX-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/MSVC-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/NVHPC-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/NVIDIA-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/PGI-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/PathScale-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/SCO-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/TI-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/Watcom-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/XL-CXX-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/CMakeFindBinUtils.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/GNU-FindBinUtils.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/CMakeCXXCompiler.cmake.in"
},
{
"isGenerated" : true,
"path" : "cmake-build-release/CMakeFiles/3.24.2/CMakeCXXCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/CMakeSystemSpecificInformation.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/CMakeGenericSystem.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/CMakeInitializeConfigs.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Platform/Linux.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Platform/UnixPaths.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/CMakeCInformation.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/CMakeLanguageInformation.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/GNU-C.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/GNU.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/CMakeCommonCompilerMacros.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Platform/Linux-GNU-C.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Platform/Linux-GNU.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/CMakeCommonLanguageInclude.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/CMakeTestCCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/CMakeTestCompilerCommon.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/CMakeDetermineCompilerABI.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/CMakeParseImplicitIncludeInfo.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/CMakeParseImplicitLinkInfo.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/CMakeParseLibraryArchitecture.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/CMakeTestCompilerCommon.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/CMakeCCompilerABI.c"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/CMakeDetermineCompileFeatures.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Internal/FeatureTesting.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/CMakeCCompiler.cmake.in"
},
{
"isGenerated" : true,
"path" : "cmake-build-release/CMakeFiles/3.24.2/CMakeCCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/CMakeCXXInformation.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/CMakeLanguageInformation.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/GNU-CXX.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Compiler/GNU.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Platform/Linux-GNU-CXX.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Platform/Linux-GNU.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/CMakeCommonLanguageInclude.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/CMakeTestCXXCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/CMakeTestCompilerCommon.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/CMakeDetermineCompilerABI.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/CMakeParseImplicitIncludeInfo.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/CMakeParseImplicitLinkInfo.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/CMakeParseLibraryArchitecture.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/CMakeTestCompilerCommon.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/CMakeCXXCompilerABI.cpp"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/CMakeDetermineCompileFeatures.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/Internal/FeatureTesting.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-3.24/Modules/CMakeCXXCompiler.cmake.in"
},
{
"isGenerated" : true,
"path" : "cmake-build-release/CMakeFiles/3.24.2/CMakeCXXCompiler.cmake"
}
],
"kind" : "cmakeFiles",
"paths" :
{
"build" : "/home/brett/Documents/Brock/CS 3P93/Project/Step 2/cmake-build-release",
"source" : "/home/brett/Documents/Brock/CS 3P93/Project/Step 2"
},
"version" :
{
"major" : 1,
"minor" : 0
}
}

View File

@ -0,0 +1,136 @@
{
"inputs" :
[
{
"path" : "CMakeLists.txt"
},
{
"isGenerated" : true,
"path" : "cmake-build-release/CMakeFiles/3.23.2/CMakeSystem.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/netbrains/clion/clion-2022.1.3/bin/cmake/linux/share/cmake-3.23/Modules/CMakeSystemSpecificInitialize.cmake"
},
{
"isGenerated" : true,
"path" : "cmake-build-release/CMakeFiles/3.23.2/CMakeCCompiler.cmake"
},
{
"isGenerated" : true,
"path" : "cmake-build-release/CMakeFiles/3.23.2/CMakeCXXCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/netbrains/clion/clion-2022.1.3/bin/cmake/linux/share/cmake-3.23/Modules/CMakeSystemSpecificInformation.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/netbrains/clion/clion-2022.1.3/bin/cmake/linux/share/cmake-3.23/Modules/CMakeGenericSystem.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/netbrains/clion/clion-2022.1.3/bin/cmake/linux/share/cmake-3.23/Modules/CMakeInitializeConfigs.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/netbrains/clion/clion-2022.1.3/bin/cmake/linux/share/cmake-3.23/Modules/Platform/Linux.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/netbrains/clion/clion-2022.1.3/bin/cmake/linux/share/cmake-3.23/Modules/Platform/UnixPaths.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/netbrains/clion/clion-2022.1.3/bin/cmake/linux/share/cmake-3.23/Modules/CMakeCInformation.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/netbrains/clion/clion-2022.1.3/bin/cmake/linux/share/cmake-3.23/Modules/CMakeLanguageInformation.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/netbrains/clion/clion-2022.1.3/bin/cmake/linux/share/cmake-3.23/Modules/Compiler/GNU-C.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/netbrains/clion/clion-2022.1.3/bin/cmake/linux/share/cmake-3.23/Modules/Compiler/GNU.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/netbrains/clion/clion-2022.1.3/bin/cmake/linux/share/cmake-3.23/Modules/Compiler/CMakeCommonCompilerMacros.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/netbrains/clion/clion-2022.1.3/bin/cmake/linux/share/cmake-3.23/Modules/Platform/Linux-GNU-C.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/netbrains/clion/clion-2022.1.3/bin/cmake/linux/share/cmake-3.23/Modules/Platform/Linux-GNU.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/netbrains/clion/clion-2022.1.3/bin/cmake/linux/share/cmake-3.23/Modules/CMakeCommonLanguageInclude.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/netbrains/clion/clion-2022.1.3/bin/cmake/linux/share/cmake-3.23/Modules/CMakeCXXInformation.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/netbrains/clion/clion-2022.1.3/bin/cmake/linux/share/cmake-3.23/Modules/CMakeLanguageInformation.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/netbrains/clion/clion-2022.1.3/bin/cmake/linux/share/cmake-3.23/Modules/Compiler/GNU-CXX.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/netbrains/clion/clion-2022.1.3/bin/cmake/linux/share/cmake-3.23/Modules/Compiler/GNU.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/netbrains/clion/clion-2022.1.3/bin/cmake/linux/share/cmake-3.23/Modules/Platform/Linux-GNU-CXX.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/netbrains/clion/clion-2022.1.3/bin/cmake/linux/share/cmake-3.23/Modules/Platform/Linux-GNU.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/netbrains/clion/clion-2022.1.3/bin/cmake/linux/share/cmake-3.23/Modules/CMakeCommonLanguageInclude.cmake"
}
],
"kind" : "cmakeFiles",
"paths" :
{
"build" : "/home/brett/Documents/Brock/CS 3P93/Project/Step 2/cmake-build-release",
"source" : "/home/brett/Documents/Brock/CS 3P93/Project/Step 2"
},
"version" :
{
"major" : 1,
"minor" : 0
}
}

View File

@ -39,7 +39,7 @@
{
"directoryIndex" : 0,
"id" : "Step_2::@6890427a1f51a3e7e1df",
"jsonFile" : "target-Step_2-Release-ade4af94c9ab4405e102.json",
"jsonFile" : "target-Step_2-Release-613990d65d1226e892a7.json",
"name" : "Step_2",
"projectIndex" : 0
}

View File

@ -8,25 +8,25 @@
},
"paths" :
{
"cmake" : "/usr/bin/cmake",
"cpack" : "/usr/bin/cpack",
"ctest" : "/usr/bin/ctest",
"root" : "/usr/share/cmake-3.24"
"cmake" : "/opt/netbrains/clion/clion-2022.1.3/bin/cmake/linux/bin/cmake",
"cpack" : "/opt/netbrains/clion/clion-2022.1.3/bin/cmake/linux/bin/cpack",
"ctest" : "/opt/netbrains/clion/clion-2022.1.3/bin/cmake/linux/bin/ctest",
"root" : "/opt/netbrains/clion/clion-2022.1.3/bin/cmake/linux/share/cmake-3.23"
},
"version" :
{
"isDirty" : false,
"major" : 3,
"minor" : 24,
"minor" : 23,
"patch" : 2,
"string" : "3.24.2",
"string" : "3.23.2",
"suffix" : ""
}
},
"objects" :
[
{
"jsonFile" : "codemodel-v2-35c33b176d8a13b67c67.json",
"jsonFile" : "codemodel-v2-e68e5e0cd915a2b7a3ed.json",
"kind" : "codemodel",
"version" :
{
@ -35,7 +35,7 @@
}
},
{
"jsonFile" : "cache-v2-e96ef1fe168b2fa61909.json",
"jsonFile" : "cache-v2-982b05828a3693b9f6c6.json",
"kind" : "cache",
"version" :
{
@ -44,7 +44,7 @@
}
},
{
"jsonFile" : "cmakeFiles-v1-87611bf2d2fdfbd7d20d.json",
"jsonFile" : "cmakeFiles-v1-ae4f0337508f2d3e631b.json",
"kind" : "cmakeFiles",
"version" :
{
@ -66,7 +66,7 @@
{
"cache-v2" :
{
"jsonFile" : "cache-v2-e96ef1fe168b2fa61909.json",
"jsonFile" : "cache-v2-982b05828a3693b9f6c6.json",
"kind" : "cache",
"version" :
{
@ -76,7 +76,7 @@
},
"cmakeFiles-v1" :
{
"jsonFile" : "cmakeFiles-v1-87611bf2d2fdfbd7d20d.json",
"jsonFile" : "cmakeFiles-v1-ae4f0337508f2d3e631b.json",
"kind" : "cmakeFiles",
"version" :
{
@ -86,7 +86,7 @@
},
"codemodel-v2" :
{
"jsonFile" : "codemodel-v2-35c33b176d8a13b67c67.json",
"jsonFile" : "codemodel-v2-e68e5e0cd915a2b7a3ed.json",
"kind" : "codemodel",
"version" :
{

View File

@ -25,13 +25,13 @@
{
"command" : 0,
"file" : 0,
"line" : 20,
"line" : 24,
"parent" : 0
},
{
"command" : 1,
"file" : 0,
"line" : 18,
"line" : 22,
"parent" : 0
}
]
@ -42,7 +42,7 @@
"compileCommandFragments" :
[
{
"fragment" : "-O3 -DNDEBUG"
"fragment" : " -march=native -O3 -DNDEBUG"
},
{
"fragment" : "-std=gnu++20"
@ -84,7 +84,7 @@
"commandFragments" :
[
{
"fragment" : "-O3 -DNDEBUG",
"fragment" : "-march=native -O3 -DNDEBUG",
"role" : "flags"
},
{

View File

@ -1,27 +1,105 @@
# ninja log v5
1 1290 1666189725720627751 CMakeFiles/Step_2.dir/src/main.cpp.o 387235f0a298f257
9 1179 1666150207469040507 CMakeFiles/Step_2.dir/src/math/colliders.cpp.o 7957915dde476a69
10 1796 1666150208085056398 CMakeFiles/Step_2.dir/src/util/parser.cpp.o 4bae007146d86363
1 855 1666189725284614906 CMakeFiles/Step_2.dir/src/raytracing.cpp.o e78f62563fb6428
1290 1329 1666189725760628932 Step_2 2fd6ed1a72fdaa11
9 1453 1666150207745047625 CMakeFiles/Step_2.dir/src/util/debug.cpp.o e1fa95ca3d6a9ce2
1 1085 1666189725516621741 CMakeFiles/Step_2.dir/src/util/models.cpp.o 12734a9214cf8718
1 1112 1666150207401038752 CMakeFiles/Step_2.dir/src/globals.cpp.o 5fc3599d89d4b8a2
1 1031 1666189725460620093 CMakeFiles/Step_2.dir/src/world.cpp.o 713f22c63a585103
1 2595 1666150208885077037 CMakeFiles/Step_2.dir/src/image/image.cpp.o 4d16c0d3199b9aa8
2 832 1666190502587578426 CMakeFiles/Step_2.dir/src/raytracing.cpp.o e78f62563fb6428
2 995 1666190502751583279 CMakeFiles/Step_2.dir/src/world.cpp.o 713f22c63a585103
2 1250 1666190503007590854 CMakeFiles/Step_2.dir/src/main.cpp.o 387235f0a298f257
1250 1288 1666190503043591919 Step_2 2fd6ed1a72fdaa11
1 829 1666190870249318010 CMakeFiles/Step_2.dir/src/raytracing.cpp.o e78f62563fb6428
1 1011 1666190870433308981 CMakeFiles/Step_2.dir/src/world.cpp.o 713f22c63a585103
1 1248 1666190870669297401 CMakeFiles/Step_2.dir/src/main.cpp.o 387235f0a298f257
1248 1287 1666190870709295439 Step_2 2fd6ed1a72fdaa11
1 843 1666190907259587072 CMakeFiles/Step_2.dir/src/raytracing.cpp.o e78f62563fb6428
2 994 1666190907411580314 CMakeFiles/Step_2.dir/src/world.cpp.o 713f22c63a585103
1 1276 1666190907691567865 CMakeFiles/Step_2.dir/src/main.cpp.o 387235f0a298f257
1276 1316 1666190907731566086 Step_2 2fd6ed1a72fdaa11
1 840 1666191946805877238 CMakeFiles/Step_2.dir/src/raytracing.cpp.o e78f62563fb6428
2 1036 1666191947001878976 CMakeFiles/Step_2.dir/src/world.cpp.o 713f22c63a585103
1 1269 1666191947233881035 CMakeFiles/Step_2.dir/src/main.cpp.o 387235f0a298f257
1 1329 1666208294813201609 CMakeFiles/Step_2.dir/src/math/colliders.cpp.o 7957915dde476a69
10 1796 1666150208085056398 CMakeFiles/Step_2.dir/src/util/parser.cpp.o 4bae007146d86363
1 840 1666191946805877238 CMakeFiles/Step_2.dir/src/raytracing.cpp.o e78f62563fb6428
1269 1307 1666191947269881356 Step_2 2fd6ed1a72fdaa11
9 1453 1666150207745047625 CMakeFiles/Step_2.dir/src/util/debug.cpp.o e1fa95ca3d6a9ce2
1 1770 1666208295257215005 CMakeFiles/Step_2.dir/src/util/models.cpp.o 12734a9214cf8718
1 1112 1666150207401038752 CMakeFiles/Step_2.dir/src/globals.cpp.o 5fc3599d89d4b8a2
2 1036 1666191947001878976 CMakeFiles/Step_2.dir/src/world.cpp.o 713f22c63a585103
1 2726 1666208296213243852 CMakeFiles/Step_2.dir/src/image/image.cpp.o 4d16c0d3199b9aa8
1 874 1666208421288995782 CMakeFiles/Step_2.dir/src/globals.cpp.o 8caaf06f90e0c038
2 1437 1666208421849012493 CMakeFiles/Step_2.dir/src/util/debug.cpp.o 2bec3f4c06e82095
2 1440 1666208421853012610 CMakeFiles/Step_2.dir/src/util/parser.cpp.o 67ef710b86dd32d6
2 1496 1666208421909014283 CMakeFiles/Step_2.dir/src/raytracing.cpp.o d0ae86d239f7153
2 1709 1666208422121020608 CMakeFiles/Step_2.dir/src/math/colliders.cpp.o c0cac41f151ac323
2 1728 1666208422141021205 CMakeFiles/Step_2.dir/src/world.cpp.o 9ae7336b91871660
2 1966 1666208422381028366 CMakeFiles/Step_2.dir/src/util/models.cpp.o 7aa2ab72df0658e
1 2034 1666208422449030392 CMakeFiles/Step_2.dir/src/main.cpp.o 8da3d580eb6e9a1
1 2886 1666208423301055812 CMakeFiles/Step_2.dir/src/image/image.cpp.o f94f9df081e81271
2887 2929 1666208423341057004 Step_2 7437176fc9e68547
2 1224 1666210629933631775 CMakeFiles/Step_2.dir/src/math/colliders.cpp.o c0cac41f151ac323
2 1374 1666210630081636055 CMakeFiles/Step_2.dir/src/raytracing.cpp.o d0ae86d239f7153
2 1548 1666210630257641141 CMakeFiles/Step_2.dir/src/world.cpp.o 9ae7336b91871660
2 1652 1666210630361644148 CMakeFiles/Step_2.dir/src/util/models.cpp.o 7aa2ab72df0658e
2 1913 1666210630621651665 CMakeFiles/Step_2.dir/src/main.cpp.o 8da3d580eb6e9a1
1 2643 1666210631353672824 CMakeFiles/Step_2.dir/src/image/image.cpp.o f94f9df081e81271
2643 2681 1666210631389673865 Step_2 7437176fc9e68547
1 1212 1666212386048431924 CMakeFiles/Step_2.dir/src/math/colliders.cpp.o c0cac41f151ac323
1 1360 1666212386196434896 CMakeFiles/Step_2.dir/src/raytracing.cpp.o d0ae86d239f7153
1 1484 1666212386320437387 CMakeFiles/Step_2.dir/src/world.cpp.o 9ae7336b91871660
1 1611 1666212386448439957 CMakeFiles/Step_2.dir/src/util/models.cpp.o 7aa2ab72df0658e
1 1875 1666212386712445259 CMakeFiles/Step_2.dir/src/main.cpp.o 8da3d580eb6e9a1
1 2656 1666212387492460928 CMakeFiles/Step_2.dir/src/image/image.cpp.o f94f9df081e81271
2656 2703 1666212387540461893 Step_2 7437176fc9e68547
2 1250 1666212415865034379 CMakeFiles/Step_2.dir/src/math/colliders.cpp.o c0cac41f151ac323
2 1375 1666212415989036899 CMakeFiles/Step_2.dir/src/raytracing.cpp.o d0ae86d239f7153
2 1566 1666212416181040803 CMakeFiles/Step_2.dir/src/world.cpp.o 9ae7336b91871660
2 1617 1666212416233041863 CMakeFiles/Step_2.dir/src/util/models.cpp.o 7aa2ab72df0658e
1 1928 1666212416545048206 CMakeFiles/Step_2.dir/src/main.cpp.o 8da3d580eb6e9a1
1 2621 1666212417237062279 CMakeFiles/Step_2.dir/src/image/image.cpp.o f94f9df081e81271
2621 2660 1666212417273063011 Step_2 7437176fc9e68547
1 1269 1666212741664012313 CMakeFiles/Step_2.dir/src/math/colliders.cpp.o c0cac41f151ac323
1 1368 1666212741764014542 CMakeFiles/Step_2.dir/src/raytracing.cpp.o d0ae86d239f7153
2 1543 1666212741940018466 CMakeFiles/Step_2.dir/src/world.cpp.o 9ae7336b91871660
2 1646 1666212742044020786 CMakeFiles/Step_2.dir/src/util/models.cpp.o 7aa2ab72df0658e
1 1910 1666212742308026673 CMakeFiles/Step_2.dir/src/main.cpp.o 8da3d580eb6e9a1
1 2600 1666212742996042017 CMakeFiles/Step_2.dir/src/image/image.cpp.o f94f9df081e81271
2600 2642 1666212743036042909 Step_2 7437176fc9e68547
1 1791 1666215595209880342 CMakeFiles/Step_2.dir/src/math/colliders.cpp.o c0cac41f151ac323
1 1840 1666215595257881412 CMakeFiles/Step_2.dir/src/raytracing.cpp.o d0ae86d239f7153
1 1888 1666215595305882480 CMakeFiles/Step_2.dir/src/util/models.cpp.o 7aa2ab72df0658e
1 1990 1666215595409884798 CMakeFiles/Step_2.dir/src/world.cpp.o 9ae7336b91871660
1 2395 1666215595813893798 CMakeFiles/Step_2.dir/src/main.cpp.o 8da3d580eb6e9a1
0 3052 1666215596469908420 CMakeFiles/Step_2.dir/src/image/image.cpp.o f94f9df081e81271
3052 3125 1666215596541910026 Step_2 7437176fc9e68547
1 788 1666215661443385226 CMakeFiles/Step_2.dir/src/math/colliders.cpp.o c0cac41f151ac323
1 949 1666215661603388929 CMakeFiles/Step_2.dir/src/raytracing.cpp.o d0ae86d239f7153
1 1072 1666215661727391802 CMakeFiles/Step_2.dir/src/world.cpp.o 9ae7336b91871660
1 1204 1666215661859394855 CMakeFiles/Step_2.dir/src/util/models.cpp.o 7aa2ab72df0658e
1 1441 1666215662095400322 CMakeFiles/Step_2.dir/src/main.cpp.o 8da3d580eb6e9a1
1 2153 1666215662807416814 CMakeFiles/Step_2.dir/src/image/image.cpp.o f94f9df081e81271
2153 2191 1666215662847417737 Step_2 7437176fc9e68547
1 1023 1666216381510163196 CMakeFiles/Step_2.dir/src/raytracing.cpp.o d0ae86d239f7153
1 1068 1666216381554164424 CMakeFiles/Step_2.dir/src/math/colliders.cpp.o c0cac41f151ac323
1 1274 1666216381762170234 CMakeFiles/Step_2.dir/src/util/models.cpp.o 7aa2ab72df0658e
1 1520 1666216382006177047 CMakeFiles/Step_2.dir/src/world.cpp.o 9ae7336b91871660
1 1732 1666216382218182968 CMakeFiles/Step_2.dir/src/main.cpp.o 8da3d580eb6e9a1
1 2646 1666216383134208548 CMakeFiles/Step_2.dir/src/image/image.cpp.o f94f9df081e81271
2646 2694 1666216383182209890 Step_2 7437176fc9e68547
1 878 1666217200233659155 CMakeFiles/Step_2.dir/src/raytracing.cpp.o d0ae86d239f7153
0 1380 1666217200733673732 CMakeFiles/Step_2.dir/src/main.cpp.o 8da3d580eb6e9a1
1380 1421 1666217200773674899 Step_2 7437176fc9e68547
1 1341 1666217588772696599 CMakeFiles/Step_2.dir/src/main.cpp.o 8da3d580eb6e9a1
1341 1380 1666217588812697660 Step_2 7437176fc9e68547
0 1305 1666217602745067311 CMakeFiles/Step_2.dir/src/main.cpp.o 8da3d580eb6e9a1
1305 1345 1666217602785068374 Step_2 7437176fc9e68547
0 1381 1666217890128871360 CMakeFiles/Step_2.dir/src/main.cpp.o 8da3d580eb6e9a1
1381 1424 1666217890172872578 Step_2 7437176fc9e68547
0 997 1666218374062493836 CMakeFiles/Step_2.dir/src/world.cpp.o 9ae7336b91871660
0 1320 1666218374386503078 CMakeFiles/Step_2.dir/src/main.cpp.o 8da3d580eb6e9a1
1320 1358 1666218374422504103 Step_2 7437176fc9e68547
1 942 1666218674383099244 CMakeFiles/Step_2.dir/src/math/colliders.cpp.o c0cac41f151ac323
1 1007 1666218674447101084 CMakeFiles/Step_2.dir/src/raytracing.cpp.o d0ae86d239f7153
1 1289 1666218674727109140 CMakeFiles/Step_2.dir/src/util/models.cpp.o 7aa2ab72df0658e
1 1342 1666218674779110635 CMakeFiles/Step_2.dir/src/world.cpp.o 9ae7336b91871660
1 1597 1666218675035117999 CMakeFiles/Step_2.dir/src/main.cpp.o 8da3d580eb6e9a1
0 2433 1666218675871142048 CMakeFiles/Step_2.dir/src/image/image.cpp.o f94f9df081e81271
2433 2478 1666218675919143428 Step_2 7437176fc9e68547
0 1373 1666218737704921878 CMakeFiles/Step_2.dir/src/main.cpp.o 8da3d580eb6e9a1
1373 1413 1666218737744923030 Step_2 7437176fc9e68547
2 1448 1666220004262511612 CMakeFiles/Step_2.dir/src/math/colliders.cpp.o c0cac41f151ac323
2 1482 1666220004294511493 CMakeFiles/Step_2.dir/src/raytracing.cpp.o d0ae86d239f7153
2 1663 1666220004478510816 CMakeFiles/Step_2.dir/src/world.cpp.o 9ae7336b91871660
2 1879 1666220004694510019 CMakeFiles/Step_2.dir/src/util/models.cpp.o 7aa2ab72df0658e
1 2049 1666220004862509401 CMakeFiles/Step_2.dir/src/main.cpp.o 8da3d580eb6e9a1
1 2908 1666220005722506266 CMakeFiles/Step_2.dir/src/image/image.cpp.o f94f9df081e81271
2909 2956 1666220005770506091 Step_2 7437176fc9e68547
1 1232 1666220317311320782 CMakeFiles/Step_2.dir/src/math/colliders.cpp.o c0cac41f151ac323
1 1413 1666220317491322171 CMakeFiles/Step_2.dir/src/raytracing.cpp.o d0ae86d239f7153
1 1568 1666220317647323373 CMakeFiles/Step_2.dir/src/world.cpp.o 9ae7336b91871660
1 1708 1666220317783324422 CMakeFiles/Step_2.dir/src/util/models.cpp.o 7aa2ab72df0658e
1 2010 1666220318087326770 CMakeFiles/Step_2.dir/src/main.cpp.o 8da3d580eb6e9a1
1 2840 1666220318919333214 CMakeFiles/Step_2.dir/src/image/image.cpp.o f94f9df081e81271
2840 2881 1666220318959333521 Step_2 7437176fc9e68547

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 448 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 448 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 171 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 264 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 244 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 267 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 334 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 358 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 154 KiB

View File

@ -1,6 +1,6 @@
# This is the CMakeCache file.
# For build in directory: /home/brett/Documents/Brock/CS 3P93/Project/Step 2/cmake-build-release
# It was generated by CMake: /usr/bin/cmake
# It was generated by CMake: /opt/netbrains/clion/clion-2022.1.3/bin/cmake/linux/bin/cmake
# You can edit this file to change values found and used by cmake.
# If you do not want to change any of the values, simply exit the editor.
# If you do want to change a value, simply edit, save, and exit the editor.
@ -232,15 +232,15 @@ CMAKE_CACHEFILE_DIR:INTERNAL=/home/brett/Documents/Brock/CS 3P93/Project/Step 2/
//Major version of cmake used to create the current loaded cache
CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3
//Minor version of cmake used to create the current loaded cache
CMAKE_CACHE_MINOR_VERSION:INTERNAL=24
CMAKE_CACHE_MINOR_VERSION:INTERNAL=23
//Patch version of cmake used to create the current loaded cache
CMAKE_CACHE_PATCH_VERSION:INTERNAL=2
//Path to CMake executable.
CMAKE_COMMAND:INTERNAL=/usr/bin/cmake
CMAKE_COMMAND:INTERNAL=/opt/netbrains/clion/clion-2022.1.3/bin/cmake/linux/bin/cmake
//Path to cpack program executable.
CMAKE_CPACK_COMMAND:INTERNAL=/usr/bin/cpack
CMAKE_CPACK_COMMAND:INTERNAL=/opt/netbrains/clion/clion-2022.1.3/bin/cmake/linux/bin/cpack
//Path to ctest program executable.
CMAKE_CTEST_COMMAND:INTERNAL=/usr/bin/ctest
CMAKE_CTEST_COMMAND:INTERNAL=/opt/netbrains/clion/clion-2022.1.3/bin/cmake/linux/bin/ctest
//ADVANCED property for variable: CMAKE_CXX_COMPILER
CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR
@ -333,7 +333,7 @@ CMAKE_RANLIB-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_READELF
CMAKE_READELF-ADVANCED:INTERNAL=1
//Path to CMake installation.
CMAKE_ROOT:INTERNAL=/usr/share/cmake-3.24
CMAKE_ROOT:INTERNAL=/opt/netbrains/clion/clion-2022.1.3/bin/cmake/linux/share/cmake-3.23
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS
CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG

View File

@ -1,5 +1,5 @@
# CMAKE generated file: DO NOT EDIT!
# Generated by "Ninja" Generator, CMake Version 3.24
# Generated by "Ninja" Generator, CMake Version 3.23
# This file contains all the rules used to get the outputs files
# built from the input files.
@ -42,7 +42,7 @@ rule CUSTOM_COMMAND
# Rule for re-running cmake.
rule RERUN_CMAKE
command = /usr/bin/cmake --regenerate-during-build -S"/home/brett/Documents/Brock/CS 3P93/Project/Step 2" -B"/home/brett/Documents/Brock/CS 3P93/Project/Step 2/cmake-build-release"
command = /opt/netbrains/clion/clion-2022.1.3/bin/cmake/linux/bin/cmake --regenerate-during-build -S"/home/brett/Documents/Brock/CS 3P93/Project/Step 2" -B"/home/brett/Documents/Brock/CS 3P93/Project/Step 2/cmake-build-release"
description = Re-running CMake...
generator = 1

Binary file not shown.

View File

@ -1,3 +1,3 @@
Start testing: Oct 19 00:41 EDT
Start testing: Oct 19 18:58 EDT
----------------------------------------------------------
End testing: Oct 19 00:41 EDT
End testing: Oct 19 18:58 EDT

File diff suppressed because one or more lines are too long

View File

@ -11,6 +11,7 @@
namespace Raytracing {
// glorified structure to store our image data.
class Image {
private:
int width;
@ -41,6 +42,7 @@ namespace Raytracing {
~Image();
};
// image writer class used to output the image to a file.
class ImageOutput {
private:
Image image;

View File

@ -9,7 +9,7 @@
#include <math/vectors.h>
namespace Raytracing {
// 3D Axis Aligned Bounding Box
// 3D Axis Aligned Bounding Box for use in a BVH
class AABB {
protected:
Vec4 min;

View File

@ -6,11 +6,14 @@
#ifndef STEP_2_VECTORS_H
#define STEP_2_VECTORS_H
// this is a big TODO: add AVX2 instructions to vector class, AVX512 isn't supported on my CPU.
#define USE_SIMD_CPU
// AVX512 isn't supported on my CPU. We will use AVX2 since it is supported by most modern CPUs
// THIS IS CURRENTLY BROKEN. DO NOT USE. it's a great idea, but I've run out of time to debug this. Will be in step 3
//#define USE_SIMD_CPU
#ifdef USE_SIMD_CPU
#include <immintrin.h>
#endif
#include <cmath>
@ -23,168 +26,303 @@ namespace Raytracing {
// but if we move to the GPU it has to be a float.
// since GPUs generally are far more optimized for floats
// If using AVX or other SIMD instructions it should be double, only to fit into 256bits.
// TODO would be to add support for 128bit AVX vectors.
#ifdef USE_SIMD_CPU
// don't change this.
typedef double PRECISION_TYPE;
class Vec4 {
private:
__m128 VectorValues;
public:
Vec4(): VectorValues{_mm256_set_pd(0.0, 0.0, 0.0, 0.0)} {}
Vec4(PRECISION_TYPE x, PRECISION_TYPE y, PRECISION_TYPE z): VectorValues{x, y, z, 0} {}
Vec4(PRECISION_TYPE x, PRECISION_TYPE y, PRECISION_TYPE z, PRECISION_TYPE w): VectorValues{x, y, z, w} {}
Vec4(const Vec4& vec): VectorValues{vec.x(), vec.y(), vec.z(), vec.w()} {}
}
#elif
// change this if you want
typedef double PRECISION_TYPE;
class Vec4 {
private:
union xType {
PRECISION_TYPE x;
PRECISION_TYPE r;
};
union yType {
PRECISION_TYPE y;
PRECISION_TYPE g;
};
union zType {
PRECISION_TYPE z;
PRECISION_TYPE b;
};
union wType {
PRECISION_TYPE w;
PRECISION_TYPE a;
};
struct valueType {
xType v1;
yType v2;
zType v3;
wType v4;
};
// isn't much of a reason to do it this way
// beyond I wanted an explicit immutable vector type of length 4
// that could be used as both x,y,z + w? and rgba
// it's unlikely that we'll need to use the w component
// but it helps better line up with the GPU
// and floating point units (especially on GPUs) tend to be aligned to 4*sizeof(float)
valueType value;
public:
Vec4(): value{0, 0, 0, 0} {}
Vec4(PRECISION_TYPE x, PRECISION_TYPE y, PRECISION_TYPE z): value{x, y, z, 0} {}
Vec4(PRECISION_TYPE x, PRECISION_TYPE y, PRECISION_TYPE z, PRECISION_TYPE w): value{x, y, z, w} {}
Vec4(const Vec4& vec): value{vec.x(), vec.y(), vec.z(), vec.w()} {}
// most of the modern c++ here is because clang tidy was annoying me
[[nodiscard]] inline PRECISION_TYPE x() const { return value.v1.x; }
[[nodiscard]] inline PRECISION_TYPE y() const { return value.v2.y; }
[[nodiscard]] inline PRECISION_TYPE z() const { return value.v3.z; }
[[nodiscard]] inline PRECISION_TYPE w() const { return value.v4.w; }
[[nodiscard]] inline PRECISION_TYPE r() const { return value.v1.r; }
[[nodiscard]] inline PRECISION_TYPE g() const { return value.v2.g; }
[[nodiscard]] inline PRECISION_TYPE b() const { return value.v3.b; }
[[nodiscard]] inline PRECISION_TYPE a() const { return value.v4.a; }
// negation operator
Vec4 operator-() const { return {-x(), -y(), -z(), -w()}; }
[[nodiscard]] inline PRECISION_TYPE magnitude() const {
return sqrt(lengthSquared());
}
[[nodiscard]] inline PRECISION_TYPE lengthSquared() const {
return x() * x() + y() * y() + z() * z() + w() * w();
}
// returns the unit-vector.
[[nodiscard]] inline Vec4 normalize() const {
PRECISION_TYPE mag = magnitude();
return {x() / mag, y() / mag, z() / mag, w() / mag};
}
// add operator before the vec returns the magnitude
PRECISION_TYPE operator+() const {
return magnitude();
}
// preforms the dot product of left * right
static inline PRECISION_TYPE dot(const Vec4& left, const Vec4& right) {
return left.x() * right.x()
+ left.y() * right.y()
+ left.z() * right.z();
}
// preforms the cross product of left X right
// since a general solution to the cross product doesn't exist in 4d
// we are going to ignore the w.
static inline Vec4 cross(const Vec4& left, const Vec4& right) {
return {left.y() * right.z() - left.z() * right.y(),
left.z() * right.x() - left.x() * right.z(),
left.x() * right.y() - left.y() * right.x()};
}
// don't change this. (working on a float version)
typedef double PRECISION_TYPE;
union AVXConvert {
struct {
double _x, _y, _z, _w;
};
__m256d avxData;
};
// Utility Functions
class Vec4 {
private:
// makes it easy to convert between AVX and double data types.
union {
struct {
double _x, _y, _z, _w;
};
__m256d avxData;
};
// useful for printing out the vector to stdout
inline std::ostream& operator<<(std::ostream& out, const Vec4& v) {
return out << "Vec4{" << v.x() << ", " << v.y() << ", " << v.z() << ", " << v.w() << "} ";
}
// finally a use for friend!
friend Vec4 operator+(const Vec4& left, const Vec4& right);
friend Vec4 operator-(const Vec4& left, const Vec4& right);
friend Vec4 operator*(const Vec4& left, const Vec4& right);
friend Vec4 operator/(const Vec4& left, const Vec4& right);
public:
// adds the two vectors left and right
inline Vec4 operator+(const Vec4& left, const Vec4& right) {
return {left.x() + right.x(), left.y() + right.y(), left.z() + right.z(), left.w() + right.w()};
}
Vec4(): avxData{_mm256_set_pd(0.0, 0.0, 0.0, 0.0)} {}
Vec4(PRECISION_TYPE x, PRECISION_TYPE y, PRECISION_TYPE z): avxData{_mm256_set_pd(x, y, z, 0)} {}
Vec4(PRECISION_TYPE x, PRECISION_TYPE y, PRECISION_TYPE z, PRECISION_TYPE w): avxData{_mm256_set_pd(x, y, z, w)} {}
Vec4(const Vec4& vec): avxData{_mm256_set_pd(vec.x(), vec.y(), vec.z(), vec.w())} {}
// subtracts the right vector from the left.
inline Vec4 operator-(const Vec4& left, const Vec4& right) {
return {left.x() - right.x(), left.y() - right.y(), left.z() - right.z(), left.w() - right.w()};
}
// most of the modern c++ here is because clang tidy was annoying me
[[nodiscard]] inline PRECISION_TYPE x() const { return _x; }
// multiples the left with the right
inline Vec4 operator*(const Vec4& left, const Vec4& right) {
return {left.x() * right.x(), left.y() * right.y(), left.z() * right.z(), left.w() * right.w()};
}
[[nodiscard]] inline PRECISION_TYPE y() const { return _y; }
// divides each element individually
inline Vec4 operator/(const Vec4& left, const Vec4& right) {
return {left.x() / right.x(), left.y() / right.y(), left.z() / right.z(), left.w() / right.w()};
}
[[nodiscard]] inline PRECISION_TYPE z() const { return _z; }
// multiplies the const c with each element in the vector v
inline Vec4 operator*(const PRECISION_TYPE c, const Vec4& v) {
return {c * v.x(), c * v.y(), c * v.z(), c * v.w()};
}
[[nodiscard]] inline PRECISION_TYPE w() const { return _w; }
// same as above but for right sided constants
inline Vec4 operator*(const Vec4& v, PRECISION_TYPE c) {
return c * v;
}
[[nodiscard]] inline PRECISION_TYPE r() const { return _x; }
// divides the vector by the constant c
inline Vec4 operator/(const Vec4& v, PRECISION_TYPE c) {
return {v.x() / c, v.y() / c, v.z() / c, v.w() / c};
}
[[nodiscard]] inline PRECISION_TYPE g() const { return _y; }
[[nodiscard]] inline PRECISION_TYPE b() const { return _z; }
[[nodiscard]] inline PRECISION_TYPE a() const { return _w; }
// negation operator
Vec4 operator-() const { return {-x(), -y(), -z(), -w()}; }
[[nodiscard]] inline PRECISION_TYPE magnitude() const {
return sqrt(lengthSquared());
}
[[nodiscard]] inline PRECISION_TYPE lengthSquared() const {
return Vec4::dot(*this, *this);
}
// returns the unit-vector.
[[nodiscard]] inline Vec4 normalize() const {
PRECISION_TYPE mag = magnitude();
return {x() / mag, y() / mag, z() / mag, w() / mag};
}
// add operator before the vec returns the magnitude
PRECISION_TYPE operator+() const {
return magnitude();
}
// preforms the dot product of left * right
static inline PRECISION_TYPE dot(const Vec4& left, const Vec4& right) {
// multiply the elements of the vectors
__m256d mul = _mm256_mul_pd(left.avxData, right.avxData);
// horizontal add. element 0 and 2 (or 1 and 3) contain the results which we must scalar add.
__m256d sum = _mm256_hadd_pd(mul, mul);
AVXConvert conv {};
conv.avxData = sum;
// boom! dot product. much easier than cross
return conv._x + conv._y;
}
// preforms the cross product of left X right
// since a general solution to the cross product doesn't exist in 4d
// we are going to ignore the w.
static inline Vec4 cross(const Vec4& left, const Vec4& right) {
// shuffle left values for alignment with the cross algorithm
// (read the shuffle selector from right to left) takes the y and places it in the first element of the resultant vector
// takes the z and places it in the second element of the vector
// takes the x element and places it in the 3rd element of the vector
// and then the w element in the last element of the vector
// creating the alignment {left.y(), left.z(), left.x(), left.w()} (as seen in the cross algorithm
__m256d leftLeftShuffle = _mm256_shuffle_pd(left.avxData, left.avxData, _MM_SHUFFLE(3,0,2,1));
// same thing but produces {right.z(), right.x(), right.y(), right.w()}
__m256d rightLeftShuffle = _mm256_shuffle_pd(right.avxData, right.avxData, _MM_SHUFFLE(3,1,0,2));
// multiply to do the first step of the cross process
__m256d multiLeft = _mm256_mul_pd(leftLeftShuffle, rightLeftShuffle);
// now we have to do the right side multiplications
// {left.z(), left.x(), left.y(), left.w()}
__m256d leftRightShuffle = _mm256_shuffle_pd(left.avxData, left.avxData, _MM_SHUFFLE(3,1,0,2));
// {right.y(), right.z(), right.x(), right.w()}
__m256d rightRightShuffle = _mm256_shuffle_pd(right.avxData, right.avxData, _MM_SHUFFLE(3,0,2,1));
// multiply the right sides of the subtraction sign
__m256d multiRight = _mm256_mul_pd(leftRightShuffle, rightRightShuffle);
// then subtract to produce the cross product
__m256d subs = _mm256_sub_pd(multiLeft, multiRight);
// yes this looks a lot more complicated, but it should be faster!
AVXConvert conv {};
conv.avxData = subs;
return {conv._x, conv._y, conv._z, conv._w};
}
};
// adds the two vectors left and right
inline Vec4 operator+(const Vec4& left, const Vec4& right) {
__m256d added = _mm256_add_pd(left.avxData, right.avxData);
AVXConvert conv {};
conv.avxData = added;
return {conv._x, conv._y, conv._z, conv._w};
}
// subtracts the right vector from the left.
inline Vec4 operator-(const Vec4& left, const Vec4& right) {
__m256d subbed = _mm256_sub_pd(left.avxData, right.avxData);
AVXConvert conv {};
conv.avxData = subbed;
return {conv._x, conv._y, conv._z, conv._w};
}
// multiples the left with the right
inline Vec4 operator*(const Vec4& left, const Vec4& right) {
__m256d multiplied = _mm256_mul_pd(left.avxData, right.avxData);
AVXConvert conv {};
conv.avxData = multiplied;
return {conv._x, conv._y, conv._z, conv._w};
}
// divides each element individually
inline Vec4 operator/(const Vec4& left, const Vec4& right) {
__m256d dived = _mm256_div_pd(left.avxData, right.avxData);
AVXConvert conv {};
conv.avxData = dived;
return {conv._x, conv._y, conv._z, conv._w};
}
#else
// change this if you want
typedef double PRECISION_TYPE;
class Vec4 {
private:
union xType {
PRECISION_TYPE x;
PRECISION_TYPE r;
};
union yType {
PRECISION_TYPE y;
PRECISION_TYPE g;
};
union zType {
PRECISION_TYPE z;
PRECISION_TYPE b;
};
union wType {
PRECISION_TYPE w;
PRECISION_TYPE a;
};
struct valueType {
xType v1;
yType v2;
zType v3;
wType v4;
};
// isn't much of a reason to do it this way
// it's unlikely that we'll need to use the w component
// but it helps better line up with the GPU and other SIMD type instructions, like what's above.
valueType value;
public:
Vec4(): value{0, 0, 0, 0} {}
Vec4(PRECISION_TYPE x, PRECISION_TYPE y, PRECISION_TYPE z): value{x, y, z, 0} {}
Vec4(PRECISION_TYPE x, PRECISION_TYPE y, PRECISION_TYPE z, PRECISION_TYPE w): value{x, y, z, w} {}
Vec4(const Vec4& vec): value{vec.x(), vec.y(), vec.z(), vec.w()} {}
// most of the modern c++ here is because clang tidy was annoying me
[[nodiscard]] inline PRECISION_TYPE x() const { return value.v1.x; }
[[nodiscard]] inline PRECISION_TYPE y() const { return value.v2.y; }
[[nodiscard]] inline PRECISION_TYPE z() const { return value.v3.z; }
[[nodiscard]] inline PRECISION_TYPE w() const { return value.v4.w; }
[[nodiscard]] inline PRECISION_TYPE r() const { return value.v1.r; }
[[nodiscard]] inline PRECISION_TYPE g() const { return value.v2.g; }
[[nodiscard]] inline PRECISION_TYPE b() const { return value.v3.b; }
[[nodiscard]] inline PRECISION_TYPE a() const { return value.v4.a; }
// negation operator
Vec4 operator-() const { return {-x(), -y(), -z(), -w()}; }
[[nodiscard]] inline PRECISION_TYPE magnitude() const {
return sqrt(lengthSquared());
}
[[nodiscard]] inline PRECISION_TYPE lengthSquared() const {
return x() * x() + y() * y() + z() * z() + w() * w();
}
// returns the unit-vector.
[[nodiscard]] inline Vec4 normalize() const {
PRECISION_TYPE mag = magnitude();
return {x() / mag, y() / mag, z() / mag, w() / mag};
}
// add operator before the vec returns the magnitude
PRECISION_TYPE operator+() const {
return magnitude();
}
// preforms the dot product of left * right
static inline PRECISION_TYPE dot(const Vec4& left, const Vec4& right) {
return left.x() * right.x()
+ left.y() * right.y()
+ left.z() * right.z();
}
// preforms the cross product of left X right
// since a general solution to the cross product doesn't exist in 4d
// we are going to ignore the w.
static inline Vec4 cross(const Vec4& left, const Vec4& right) {
return {left.y() * right.z() - left.z() * right.y(),
left.z() * right.x() - left.x() * right.z(),
left.x() * right.y() - left.y() * right.x()};
}
};
// Utility Functions
// adds the two vectors left and right
inline Vec4 operator+(const Vec4& left, const Vec4& right) {
return {left.x() + right.x(), left.y() + right.y(), left.z() + right.z(), left.w() + right.w()};
}
// subtracts the right vector from the left.
inline Vec4 operator-(const Vec4& left, const Vec4& right) {
return {left.x() - right.x(), left.y() - right.y(), left.z() - right.z(), left.w() - right.w()};
}
// multiples the left with the right
inline Vec4 operator*(const Vec4& left, const Vec4& right) {
return {left.x() * right.x(), left.y() * right.y(), left.z() * right.z(), left.w() * right.w()};
}
// divides each element individually
inline Vec4 operator/(const Vec4& left, const Vec4& right) {
return {left.x() / right.x(), left.y() / right.y(), left.z() / right.z(), left.w() / right.w()};
}
// divides each element in the vector by over the constant
inline Vec4 operator/(PRECISION_TYPE c, const Vec4& v) {
return {c / v.x(), c / v.y(), c / v.z(), c / v.w()};
}
#endif
// none of these can be vectorized with AVX instructions
// useful for printing out the vector to stdout
inline std::ostream& operator<<(std::ostream& out, const Vec4& v) {
return out << "Vec4{" << v.x() << ", " << v.y() << ", " << v.z() << ", " << v.w() << "} ";
}
// multiplies the const c with each element in the vector v
inline Vec4 operator*(const PRECISION_TYPE c, const Vec4& v) {
return {c * v.x(), c * v.y(), c * v.z(), c * v.w()};
}
// same as above but for right sided constants
inline Vec4 operator*(const Vec4& v, PRECISION_TYPE c) {
return c * v;
}
// divides the vector by the constant c
inline Vec4 operator/(const Vec4& v, PRECISION_TYPE c) {
return {v.x() / c, v.y() / c, v.z() / c, v.w() / c};
}
// divides each element in the vector by over the constant
inline Vec4 operator/(PRECISION_TYPE c, const Vec4& v) {
return {c / v.x(), c / v.y(), c / v.z(), c / v.w()};
}
class Ray {
private:
// the starting point for our ray
@ -201,7 +339,7 @@ namespace Raytracing {
// not always needed, but it's good to not have to calculate the inverse inside the intersection
// as that would be very every AABB, and that is expensive
[[nodiscard]] Vec4 getInverseDirection() const {return inverseDirection; }
[[nodiscard]] Vec4 getInverseDirection() const { return inverseDirection; }
// returns a point along the ray, extended away from start by the length.
[[nodiscard]] inline Vec4 along(PRECISION_TYPE length) const { return start + length * direction; }

View File

@ -35,10 +35,15 @@ namespace Raytracing {
public:
Camera(PRECISION_TYPE fov, const Image& image): image(image),
aspectRatio(double(image.getWidth()) / double(image.getHeight())) {
// scale the viewport height based on the camera's FOV
viewportHeight = (2.0 * tan(degreeeToRadian(fov) / 2));
// with must respect the aspect ratio of the image, otherwise we'd get funky results
viewportWidth = (aspectRatio * viewportHeight);
// horizontal direction from the camera. used to translate the camera
horizontalAxis = (Vec4{viewportWidth, 0, 0, 0});
// virtual direction, also used to translate the camera
verticalAxis = (Vec4{0, viewportHeight, 0, 0});
// lower left of the camera's view port. used to project our vectors from image space to world space
imageOrigin = (position - horizontalAxis / 2 - verticalAxis / 2 - Vec4(0, 0, focalLength, 0));
tlog << viewportHeight << "\n";

View File

@ -0,0 +1,2 @@
# Blender 3.3.1 MTL File: 'None'
# www.blender.org

View File

@ -0,0 +1,16 @@
# Blender 3.3.1
# www.blender.org
mtllib plane.mtl
o Plane
v 0.000001 -8.781555 -9.817993
v -0.000000 -8.781555 9.817993
v 0.000000 8.781555 -9.817993
v -0.000001 8.781555 9.817993
vn 1.0000 -0.0000 -0.0000
vt 0.000000 0.000000
vt 1.000000 0.000000
vt 0.000000 1.000000
vt 1.000000 1.000000
s 0
f 3/3/1 2/2/1 1/1/1
f 3/3/1 4/4/1 2/2/1

View File

@ -71,10 +71,10 @@ namespace Raytracing {
// stride here isn't clearly defined in the docs for some reason,
// but it's just the image's width times the number of channels
stbi_write_png(fullFile.c_str(), image.getWidth(), image.getHeight(), 3, data, image.getWidth() * 3);
} else if (lowerExtension.ends_with("jpg")) {
} else if (lowerExtension.ends_with("jpg") || lowerExtension.ends_with("jpeg")) {
stbi_write_jpg(fullFile.c_str(), image.getWidth(), image.getHeight(), 3, data, 90);
} else
throw std::runtime_error("Invalid format! Please use ppm, png, or jpg");
throw std::runtime_error("Invalid format! Please use bmp, png, or jpg");
} else {
// the TODO: here is to check if HDR is in [0,1] or if we need to transform the value.
float data[image.getWidth() * image.getHeight() * 3];

View File

@ -33,7 +33,18 @@ int main(int argc, char** args) {
parser.addOption("--output", "Output Directory\n"
"\tSet the output directory for the rendered image. Defaults to the local directory.\n", "./");
parser.addOption("--format", "Output Format\n"
"\tSets the output format to PPM, PNG, or JPEG. ", "PNG");
"\tSets the output format to BMP, PNG, or JPEG. \n", "PNG");
parser.addOption("-w", "Image Width\n"
"\tSets the width of the output image.\n", "910");
parser.addOption("-h", "Image Height\n"
"\tSets the height of the output image.\n", "512");
parser.addOption("--fov", "Camera FOV\n"
"\tSets the FOV used to render the camera.\n", "90");
parser.addOption("--resources", "Resources Directory\n"
"\tSets the directory where the resources are stored.\n"
"\tThis can be relative.Must have trailing '/' \n", "../resources/");
// disabled because don't currently have a way to parse vectors. TODO
//parser.addOption("--position", "Camera Position\n\tSets the position used to render the scene with the camera.\n", "{0, 0, 0}");
// if the parser returns non-zero then it wants us to stop execution
// likely due to a help function being called.
@ -45,17 +56,19 @@ int main(int argc, char** args) {
parser.printAllInInfo();
//Raytracing::Image image(445, 256);
Raytracing::Image image(910, 512);
Raytracing::Image image(std::stoi(parser.getOptionValue("-w")), std::stoi(parser.getOptionValue("-h")));
Raytracing::Camera camera(90, image);
Raytracing::Camera camera(std::stoi(parser.getOptionValue("--fov")), image);
//camera.setPosition({0, 0, 1});
camera.lookAt({2,2,-2}, {0, 0, 0}, {0, 1, 0});
camera.lookAt({6,5,6}, {0, 0, 0}, {0, 1, 0});
Raytracing::World world;
Raytracing::OBJLoader loader;
Raytracing::ModelData spider = loader.loadModel("spider.obj");
Raytracing::ModelData house = loader.loadModel("house.obj");
// assumes you are running it from a subdirectory, "build" or "cmake-build-release", etc.
Raytracing::ModelData spider = loader.loadModel(parser.getOptionValue("--resources") + "spider.obj");
Raytracing::ModelData house = loader.loadModel(parser.getOptionValue("--resources") + "house.obj");
Raytracing::ModelData plane = loader.loadModel(parser.getOptionValue("--resources") + "plane.obj");
world.addMaterial("greenDiffuse", new Raytracing::DiffuseMaterial{Raytracing::Vec4{0, 1.0, 0, 1}});
world.addMaterial("redDiffuse", new Raytracing::DiffuseMaterial{Raytracing::Vec4{1.0, 0, 0, 1}});
@ -71,10 +84,10 @@ int main(int argc, char** args) {
world.add(new Raytracing::SphereObject({0,-100.5,-1,0}, 100, world.getMaterial("greenDiffuse")));
//world.add(new Raytracing::TriangleObject({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, 0}, spider, world.getMaterial("redDiffuse")));
world.add(new Raytracing::ModelObject({2, 0, 0}, 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")));
world.add(new Raytracing::ModelObject({-5, 0.5, 0}, plane, world.getMaterial("greenMetal")));
world.add(new Raytracing::ModelObject({5, 1, 0}, house, world.getMaterial("redDiffuse")));
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};

View File

@ -59,7 +59,7 @@ namespace Raytracing {
// if the material scatters the ray, ie casts a new one,
if (scatterResults.scattered) // attenuate the recursive raycast by the material's color
return scatterResults.attenuationColor * raycast(scatterResults.newRay, depth + 1);
tlog << "Not scattered? " << object->getMaterial();
//tlog << "Not scattered? " << object->getMaterial() << "\n";
return {0,0,0};
}

View File

@ -135,6 +135,7 @@ namespace Raytracing {
static HitData checkIfTriangleGotHit(const Triangle& theTriangle, const Vec4& position, const Ray& ray, PRECISION_TYPE min, PRECISION_TYPE max) {
// MöllerTrumbore intersection algorithm
// https://www.scratchapixel.com/lessons/3d-basic-rendering/ray-tracing-rendering-a-triangle/moller-trumbore-ray-triangle-intersection
// https://en.wikipedia.org/wiki/M%C3%B6ller%E2%80%93Trumbore_intersection_algorithm
Vec4 edge1, edge2, h, s, q;
PRECISION_TYPE a, f, u, v;
@ -185,22 +186,14 @@ namespace Raytracing {
HitData ModelObject::checkIfHit(const Ray& ray, PRECISION_TYPE min, PRECISION_TYPE max) const {
auto hResult = HitData{false, Vec4(), Vec4(), max};
// must check through all the triangles in the object
// respecting depth along the way
// but reducing the max it can reach my the last longest vector length.
for (const Triangle& t : triangles) {
auto cResult = checkIfTriangleGotHit(t, position, ray, min, hResult.length);
if (cResult.hit)
hResult = cResult;
}
// 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);