Added the ability to recusively load shader files

include statements are the only form of file chaining supported.
define statements can now be replaced at load time with global variable.
main
Brett 2022-11-20 13:07:45 -05:00
parent 40ce59284c
commit 5308cacd23
20 changed files with 355 additions and 20 deletions

View File

@ -101,7 +101,7 @@ endif()
# Windows should be able to handle opencl no problem. # Windows should be able to handle opencl no problem.
# i decided that i wanted to use opencl due to it having a much nicer c99 language. # i decided that i wanted to use opencl due to it having a much nicer c99 language.
if (COMPILE_OPENCL MATCHES ON) if (COMPILE_OPENCL MATCHES ON)
find_package(OpenCL) find_package(OpenCL REQUIRED)
if (NOT OpenCL_FOUND) if (NOT OpenCL_FOUND)
message("Unable to find OpenCL on your system. Do you have the required libs?") message("Unable to find OpenCL on your system. Do you have the required libs?")
@ -132,8 +132,11 @@ if (USE_GLFW MATCHES ON AND glfw3_FOUND)
target_link_libraries(${PROJECT_NAME} glfw) target_link_libraries(${PROJECT_NAME} glfw)
endif () endif ()
if (COMPILE_OPENCL MATCHES ON) if (COMPILE_OPENCL)
message("Compiling OpenCL ${OpenCL_LIBRARIES} || ${OpenCL_LIBRARY}")
target_link_libraries(${PROJECT_NAME} ${OpenCL_LIBRARIES}) target_link_libraries(${PROJECT_NAME} ${OpenCL_LIBRARIES})
target_link_libraries(${PROJECT_NAME} ${OpenCL_LIBRARY})
target_compile_definitions(${PROJECT_NAME} PRIVATE CL_TARGET_OPENCL_VERSION=220)
endif () endif ()
if (USE_OPENMP) if (USE_OPENMP)

View File

@ -3,6 +3,7 @@ Building for Debug
release mode release mode
Compiling with GUI. Compiling with GUI.
Found GLFW3! Found GLFW3!
Compiling OpenCL /usr/lib/x86_64-linux-gnu/libOpenCL.so || /usr/lib/x86_64-linux-gnu/libOpenCL.so
-- Configuring done -- Configuring done
-- Generating done -- Generating done
-- Build files have been written to: /home/brett/Documents/Brock/CS 3P93/Project/Step 3/cmake-build-debug -- Build files have been written to: /home/brett/Documents/Brock/CS 3P93/Project/Step 3/cmake-build-debug

View File

@ -50,6 +50,7 @@ cmake_ninja_workdir = /home/brett/Documents/Brock/CS$ 3P93/Project/Step$ 3/cmake
build cmake_object_order_depends_target_Step_3: phony || CMakeFiles/Step_3.dir build cmake_object_order_depends_target_Step_3: phony || CMakeFiles/Step_3.dir
build CMakeFiles/Step_3.dir/src/engine/globals.cpp.o: CXX_COMPILER__Step_3_Debug /home/brett/Documents/Brock/CS$ 3P93/Project/Step$ 3/src/engine/globals.cpp || cmake_object_order_depends_target_Step_3 build CMakeFiles/Step_3.dir/src/engine/globals.cpp.o: CXX_COMPILER__Step_3_Debug /home/brett/Documents/Brock/CS$ 3P93/Project/Step$ 3/src/engine/globals.cpp || cmake_object_order_depends_target_Step_3
DEFINES = -DCL_TARGET_OPENCL_VERSION=220
DEP_FILE = CMakeFiles/Step_3.dir/src/engine/globals.cpp.o.d DEP_FILE = CMakeFiles/Step_3.dir/src/engine/globals.cpp.o.d
FLAGS = -fsanitize=address -g -march=native -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 3/cmake-build-debug" -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/include" INCLUDES = -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/cmake-build-debug" -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/include"
@ -57,6 +58,7 @@ build CMakeFiles/Step_3.dir/src/engine/globals.cpp.o: CXX_COMPILER__Step_3_Debug
OBJECT_FILE_DIR = CMakeFiles/Step_3.dir/src/engine OBJECT_FILE_DIR = CMakeFiles/Step_3.dir/src/engine
build CMakeFiles/Step_3.dir/src/engine/image/image.cpp.o: CXX_COMPILER__Step_3_Debug /home/brett/Documents/Brock/CS$ 3P93/Project/Step$ 3/src/engine/image/image.cpp || cmake_object_order_depends_target_Step_3 build CMakeFiles/Step_3.dir/src/engine/image/image.cpp.o: CXX_COMPILER__Step_3_Debug /home/brett/Documents/Brock/CS$ 3P93/Project/Step$ 3/src/engine/image/image.cpp || cmake_object_order_depends_target_Step_3
DEFINES = -DCL_TARGET_OPENCL_VERSION=220
DEP_FILE = CMakeFiles/Step_3.dir/src/engine/image/image.cpp.o.d DEP_FILE = CMakeFiles/Step_3.dir/src/engine/image/image.cpp.o.d
FLAGS = -fsanitize=address -g -march=native -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 3/cmake-build-debug" -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/include" INCLUDES = -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/cmake-build-debug" -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/include"
@ -64,6 +66,7 @@ build CMakeFiles/Step_3.dir/src/engine/image/image.cpp.o: CXX_COMPILER__Step_3_D
OBJECT_FILE_DIR = CMakeFiles/Step_3.dir/src/engine/image OBJECT_FILE_DIR = CMakeFiles/Step_3.dir/src/engine/image
build CMakeFiles/Step_3.dir/src/engine/main.cpp.o: CXX_COMPILER__Step_3_Debug /home/brett/Documents/Brock/CS$ 3P93/Project/Step$ 3/src/engine/main.cpp || cmake_object_order_depends_target_Step_3 build CMakeFiles/Step_3.dir/src/engine/main.cpp.o: CXX_COMPILER__Step_3_Debug /home/brett/Documents/Brock/CS$ 3P93/Project/Step$ 3/src/engine/main.cpp || cmake_object_order_depends_target_Step_3
DEFINES = -DCL_TARGET_OPENCL_VERSION=220
DEP_FILE = CMakeFiles/Step_3.dir/src/engine/main.cpp.o.d DEP_FILE = CMakeFiles/Step_3.dir/src/engine/main.cpp.o.d
FLAGS = -fsanitize=address -g -march=native -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 3/cmake-build-debug" -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/include" INCLUDES = -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/cmake-build-debug" -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/include"
@ -71,6 +74,7 @@ build CMakeFiles/Step_3.dir/src/engine/main.cpp.o: CXX_COMPILER__Step_3_Debug /h
OBJECT_FILE_DIR = CMakeFiles/Step_3.dir/src/engine OBJECT_FILE_DIR = CMakeFiles/Step_3.dir/src/engine
build CMakeFiles/Step_3.dir/src/engine/math/bvh.cpp.o: CXX_COMPILER__Step_3_Debug /home/brett/Documents/Brock/CS$ 3P93/Project/Step$ 3/src/engine/math/bvh.cpp || cmake_object_order_depends_target_Step_3 build CMakeFiles/Step_3.dir/src/engine/math/bvh.cpp.o: CXX_COMPILER__Step_3_Debug /home/brett/Documents/Brock/CS$ 3P93/Project/Step$ 3/src/engine/math/bvh.cpp || cmake_object_order_depends_target_Step_3
DEFINES = -DCL_TARGET_OPENCL_VERSION=220
DEP_FILE = CMakeFiles/Step_3.dir/src/engine/math/bvh.cpp.o.d DEP_FILE = CMakeFiles/Step_3.dir/src/engine/math/bvh.cpp.o.d
FLAGS = -fsanitize=address -g -march=native -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 3/cmake-build-debug" -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/include" INCLUDES = -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/cmake-build-debug" -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/include"
@ -78,6 +82,7 @@ build CMakeFiles/Step_3.dir/src/engine/math/bvh.cpp.o: CXX_COMPILER__Step_3_Debu
OBJECT_FILE_DIR = CMakeFiles/Step_3.dir/src/engine/math OBJECT_FILE_DIR = CMakeFiles/Step_3.dir/src/engine/math
build CMakeFiles/Step_3.dir/src/engine/math/colliders.cpp.o: CXX_COMPILER__Step_3_Debug /home/brett/Documents/Brock/CS$ 3P93/Project/Step$ 3/src/engine/math/colliders.cpp || cmake_object_order_depends_target_Step_3 build CMakeFiles/Step_3.dir/src/engine/math/colliders.cpp.o: CXX_COMPILER__Step_3_Debug /home/brett/Documents/Brock/CS$ 3P93/Project/Step$ 3/src/engine/math/colliders.cpp || cmake_object_order_depends_target_Step_3
DEFINES = -DCL_TARGET_OPENCL_VERSION=220
DEP_FILE = CMakeFiles/Step_3.dir/src/engine/math/colliders.cpp.o.d DEP_FILE = CMakeFiles/Step_3.dir/src/engine/math/colliders.cpp.o.d
FLAGS = -fsanitize=address -g -march=native -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 3/cmake-build-debug" -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/include" INCLUDES = -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/cmake-build-debug" -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/include"
@ -85,6 +90,7 @@ build CMakeFiles/Step_3.dir/src/engine/math/colliders.cpp.o: CXX_COMPILER__Step_
OBJECT_FILE_DIR = CMakeFiles/Step_3.dir/src/engine/math OBJECT_FILE_DIR = CMakeFiles/Step_3.dir/src/engine/math
build CMakeFiles/Step_3.dir/src/engine/raytracing.cpp.o: CXX_COMPILER__Step_3_Debug /home/brett/Documents/Brock/CS$ 3P93/Project/Step$ 3/src/engine/raytracing.cpp || cmake_object_order_depends_target_Step_3 build CMakeFiles/Step_3.dir/src/engine/raytracing.cpp.o: CXX_COMPILER__Step_3_Debug /home/brett/Documents/Brock/CS$ 3P93/Project/Step$ 3/src/engine/raytracing.cpp || cmake_object_order_depends_target_Step_3
DEFINES = -DCL_TARGET_OPENCL_VERSION=220
DEP_FILE = CMakeFiles/Step_3.dir/src/engine/raytracing.cpp.o.d DEP_FILE = CMakeFiles/Step_3.dir/src/engine/raytracing.cpp.o.d
FLAGS = -fsanitize=address -g -march=native -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 3/cmake-build-debug" -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/include" INCLUDES = -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/cmake-build-debug" -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/include"
@ -92,13 +98,23 @@ build CMakeFiles/Step_3.dir/src/engine/raytracing.cpp.o: CXX_COMPILER__Step_3_De
OBJECT_FILE_DIR = CMakeFiles/Step_3.dir/src/engine OBJECT_FILE_DIR = CMakeFiles/Step_3.dir/src/engine
build CMakeFiles/Step_3.dir/src/engine/util/debug.cpp.o: CXX_COMPILER__Step_3_Debug /home/brett/Documents/Brock/CS$ 3P93/Project/Step$ 3/src/engine/util/debug.cpp || cmake_object_order_depends_target_Step_3 build CMakeFiles/Step_3.dir/src/engine/util/debug.cpp.o: CXX_COMPILER__Step_3_Debug /home/brett/Documents/Brock/CS$ 3P93/Project/Step$ 3/src/engine/util/debug.cpp || cmake_object_order_depends_target_Step_3
DEFINES = -DCL_TARGET_OPENCL_VERSION=220
DEP_FILE = CMakeFiles/Step_3.dir/src/engine/util/debug.cpp.o.d DEP_FILE = CMakeFiles/Step_3.dir/src/engine/util/debug.cpp.o.d
FLAGS = -fsanitize=address -g -march=native -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 3/cmake-build-debug" -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/include" INCLUDES = -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/cmake-build-debug" -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/include"
OBJECT_DIR = CMakeFiles/Step_3.dir OBJECT_DIR = CMakeFiles/Step_3.dir
OBJECT_FILE_DIR = CMakeFiles/Step_3.dir/src/engine/util OBJECT_FILE_DIR = CMakeFiles/Step_3.dir/src/engine/util
build CMakeFiles/Step_3.dir/src/engine/util/loaders.cpp.o: CXX_COMPILER__Step_3_Debug /home/brett/Documents/Brock/CS$ 3P93/Project/Step$ 3/src/engine/util/loaders.cpp || cmake_object_order_depends_target_Step_3
DEFINES = -DCL_TARGET_OPENCL_VERSION=220
DEP_FILE = CMakeFiles/Step_3.dir/src/engine/util/loaders.cpp.o.d
FLAGS = -fsanitize=address -g -march=native -g -fsanitize=address -std=gnu++20
INCLUDES = -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/cmake-build-debug" -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/include"
OBJECT_DIR = CMakeFiles/Step_3.dir
OBJECT_FILE_DIR = CMakeFiles/Step_3.dir/src/engine/util
build CMakeFiles/Step_3.dir/src/engine/util/models.cpp.o: CXX_COMPILER__Step_3_Debug /home/brett/Documents/Brock/CS$ 3P93/Project/Step$ 3/src/engine/util/models.cpp || cmake_object_order_depends_target_Step_3 build CMakeFiles/Step_3.dir/src/engine/util/models.cpp.o: CXX_COMPILER__Step_3_Debug /home/brett/Documents/Brock/CS$ 3P93/Project/Step$ 3/src/engine/util/models.cpp || cmake_object_order_depends_target_Step_3
DEFINES = -DCL_TARGET_OPENCL_VERSION=220
DEP_FILE = CMakeFiles/Step_3.dir/src/engine/util/models.cpp.o.d DEP_FILE = CMakeFiles/Step_3.dir/src/engine/util/models.cpp.o.d
FLAGS = -fsanitize=address -g -march=native -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 3/cmake-build-debug" -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/include" INCLUDES = -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/cmake-build-debug" -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/include"
@ -106,6 +122,7 @@ build CMakeFiles/Step_3.dir/src/engine/util/models.cpp.o: CXX_COMPILER__Step_3_D
OBJECT_FILE_DIR = CMakeFiles/Step_3.dir/src/engine/util OBJECT_FILE_DIR = CMakeFiles/Step_3.dir/src/engine/util
build CMakeFiles/Step_3.dir/src/engine/util/parser.cpp.o: CXX_COMPILER__Step_3_Debug /home/brett/Documents/Brock/CS$ 3P93/Project/Step$ 3/src/engine/util/parser.cpp || cmake_object_order_depends_target_Step_3 build CMakeFiles/Step_3.dir/src/engine/util/parser.cpp.o: CXX_COMPILER__Step_3_Debug /home/brett/Documents/Brock/CS$ 3P93/Project/Step$ 3/src/engine/util/parser.cpp || cmake_object_order_depends_target_Step_3
DEFINES = -DCL_TARGET_OPENCL_VERSION=220
DEP_FILE = CMakeFiles/Step_3.dir/src/engine/util/parser.cpp.o.d DEP_FILE = CMakeFiles/Step_3.dir/src/engine/util/parser.cpp.o.d
FLAGS = -fsanitize=address -g -march=native -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 3/cmake-build-debug" -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/include" INCLUDES = -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/cmake-build-debug" -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/include"
@ -113,6 +130,7 @@ build CMakeFiles/Step_3.dir/src/engine/util/parser.cpp.o: CXX_COMPILER__Step_3_D
OBJECT_FILE_DIR = CMakeFiles/Step_3.dir/src/engine/util OBJECT_FILE_DIR = CMakeFiles/Step_3.dir/src/engine/util
build CMakeFiles/Step_3.dir/src/engine/world.cpp.o: CXX_COMPILER__Step_3_Debug /home/brett/Documents/Brock/CS$ 3P93/Project/Step$ 3/src/engine/world.cpp || cmake_object_order_depends_target_Step_3 build CMakeFiles/Step_3.dir/src/engine/world.cpp.o: CXX_COMPILER__Step_3_Debug /home/brett/Documents/Brock/CS$ 3P93/Project/Step$ 3/src/engine/world.cpp || cmake_object_order_depends_target_Step_3
DEFINES = -DCL_TARGET_OPENCL_VERSION=220
DEP_FILE = CMakeFiles/Step_3.dir/src/engine/world.cpp.o.d DEP_FILE = CMakeFiles/Step_3.dir/src/engine/world.cpp.o.d
FLAGS = -fsanitize=address -g -march=native -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 3/cmake-build-debug" -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/include" INCLUDES = -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/cmake-build-debug" -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/include"
@ -120,6 +138,7 @@ build CMakeFiles/Step_3.dir/src/engine/world.cpp.o: CXX_COMPILER__Step_3_Debug /
OBJECT_FILE_DIR = CMakeFiles/Step_3.dir/src/engine OBJECT_FILE_DIR = CMakeFiles/Step_3.dir/src/engine
build CMakeFiles/Step_3.dir/src/graphics/debug_gui.cpp.o: CXX_COMPILER__Step_3_Debug /home/brett/Documents/Brock/CS$ 3P93/Project/Step$ 3/src/graphics/debug_gui.cpp || cmake_object_order_depends_target_Step_3 build CMakeFiles/Step_3.dir/src/graphics/debug_gui.cpp.o: CXX_COMPILER__Step_3_Debug /home/brett/Documents/Brock/CS$ 3P93/Project/Step$ 3/src/graphics/debug_gui.cpp || cmake_object_order_depends_target_Step_3
DEFINES = -DCL_TARGET_OPENCL_VERSION=220
DEP_FILE = CMakeFiles/Step_3.dir/src/graphics/debug_gui.cpp.o.d DEP_FILE = CMakeFiles/Step_3.dir/src/graphics/debug_gui.cpp.o.d
FLAGS = -fsanitize=address -g -march=native -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 3/cmake-build-debug" -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/include" INCLUDES = -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/cmake-build-debug" -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/include"
@ -127,6 +146,7 @@ build CMakeFiles/Step_3.dir/src/graphics/debug_gui.cpp.o: CXX_COMPILER__Step_3_D
OBJECT_FILE_DIR = CMakeFiles/Step_3.dir/src/graphics OBJECT_FILE_DIR = CMakeFiles/Step_3.dir/src/graphics
build CMakeFiles/Step_3.dir/src/graphics/gl/gl.c.o: C_COMPILER__Step_3_Debug /home/brett/Documents/Brock/CS$ 3P93/Project/Step$ 3/src/graphics/gl/gl.c || cmake_object_order_depends_target_Step_3 build CMakeFiles/Step_3.dir/src/graphics/gl/gl.c.o: C_COMPILER__Step_3_Debug /home/brett/Documents/Brock/CS$ 3P93/Project/Step$ 3/src/graphics/gl/gl.c || cmake_object_order_depends_target_Step_3
DEFINES = -DCL_TARGET_OPENCL_VERSION=220
DEP_FILE = CMakeFiles/Step_3.dir/src/graphics/gl/gl.c.o.d DEP_FILE = CMakeFiles/Step_3.dir/src/graphics/gl/gl.c.o.d
FLAGS = -g -fsanitize=address FLAGS = -g -fsanitize=address
INCLUDES = -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/cmake-build-debug" -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/include" INCLUDES = -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/cmake-build-debug" -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/include"
@ -134,6 +154,7 @@ build CMakeFiles/Step_3.dir/src/graphics/gl/gl.c.o: C_COMPILER__Step_3_Debug /ho
OBJECT_FILE_DIR = CMakeFiles/Step_3.dir/src/graphics/gl OBJECT_FILE_DIR = CMakeFiles/Step_3.dir/src/graphics/gl
build CMakeFiles/Step_3.dir/src/graphics/gl/gl.cpp.o: CXX_COMPILER__Step_3_Debug /home/brett/Documents/Brock/CS$ 3P93/Project/Step$ 3/src/graphics/gl/gl.cpp || cmake_object_order_depends_target_Step_3 build CMakeFiles/Step_3.dir/src/graphics/gl/gl.cpp.o: CXX_COMPILER__Step_3_Debug /home/brett/Documents/Brock/CS$ 3P93/Project/Step$ 3/src/graphics/gl/gl.cpp || cmake_object_order_depends_target_Step_3
DEFINES = -DCL_TARGET_OPENCL_VERSION=220
DEP_FILE = CMakeFiles/Step_3.dir/src/graphics/gl/gl.cpp.o.d DEP_FILE = CMakeFiles/Step_3.dir/src/graphics/gl/gl.cpp.o.d
FLAGS = -fsanitize=address -g -march=native -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 3/cmake-build-debug" -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/include" INCLUDES = -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/cmake-build-debug" -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/include"
@ -141,6 +162,7 @@ build CMakeFiles/Step_3.dir/src/graphics/gl/gl.cpp.o: CXX_COMPILER__Step_3_Debug
OBJECT_FILE_DIR = CMakeFiles/Step_3.dir/src/graphics/gl OBJECT_FILE_DIR = CMakeFiles/Step_3.dir/src/graphics/gl
build CMakeFiles/Step_3.dir/src/graphics/gl/shader.cpp.o: CXX_COMPILER__Step_3_Debug /home/brett/Documents/Brock/CS$ 3P93/Project/Step$ 3/src/graphics/gl/shader.cpp || cmake_object_order_depends_target_Step_3 build CMakeFiles/Step_3.dir/src/graphics/gl/shader.cpp.o: CXX_COMPILER__Step_3_Debug /home/brett/Documents/Brock/CS$ 3P93/Project/Step$ 3/src/graphics/gl/shader.cpp || cmake_object_order_depends_target_Step_3
DEFINES = -DCL_TARGET_OPENCL_VERSION=220
DEP_FILE = CMakeFiles/Step_3.dir/src/graphics/gl/shader.cpp.o.d DEP_FILE = CMakeFiles/Step_3.dir/src/graphics/gl/shader.cpp.o.d
FLAGS = -fsanitize=address -g -march=native -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 3/cmake-build-debug" -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/include" INCLUDES = -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/cmake-build-debug" -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/include"
@ -148,6 +170,7 @@ build CMakeFiles/Step_3.dir/src/graphics/gl/shader.cpp.o: CXX_COMPILER__Step_3_D
OBJECT_FILE_DIR = CMakeFiles/Step_3.dir/src/graphics/gl OBJECT_FILE_DIR = CMakeFiles/Step_3.dir/src/graphics/gl
build CMakeFiles/Step_3.dir/src/graphics/graphics.cpp.o: CXX_COMPILER__Step_3_Debug /home/brett/Documents/Brock/CS$ 3P93/Project/Step$ 3/src/graphics/graphics.cpp || cmake_object_order_depends_target_Step_3 build CMakeFiles/Step_3.dir/src/graphics/graphics.cpp.o: CXX_COMPILER__Step_3_Debug /home/brett/Documents/Brock/CS$ 3P93/Project/Step$ 3/src/graphics/graphics.cpp || cmake_object_order_depends_target_Step_3
DEFINES = -DCL_TARGET_OPENCL_VERSION=220
DEP_FILE = CMakeFiles/Step_3.dir/src/graphics/graphics.cpp.o.d DEP_FILE = CMakeFiles/Step_3.dir/src/graphics/graphics.cpp.o.d
FLAGS = -fsanitize=address -g -march=native -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 3/cmake-build-debug" -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/include" INCLUDES = -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/cmake-build-debug" -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/include"
@ -155,6 +178,7 @@ build CMakeFiles/Step_3.dir/src/graphics/graphics.cpp.o: CXX_COMPILER__Step_3_De
OBJECT_FILE_DIR = CMakeFiles/Step_3.dir/src/graphics OBJECT_FILE_DIR = CMakeFiles/Step_3.dir/src/graphics
build CMakeFiles/Step_3.dir/src/graphics/imgui/imgui.cpp.o: CXX_COMPILER__Step_3_Debug /home/brett/Documents/Brock/CS$ 3P93/Project/Step$ 3/src/graphics/imgui/imgui.cpp || cmake_object_order_depends_target_Step_3 build CMakeFiles/Step_3.dir/src/graphics/imgui/imgui.cpp.o: CXX_COMPILER__Step_3_Debug /home/brett/Documents/Brock/CS$ 3P93/Project/Step$ 3/src/graphics/imgui/imgui.cpp || cmake_object_order_depends_target_Step_3
DEFINES = -DCL_TARGET_OPENCL_VERSION=220
DEP_FILE = CMakeFiles/Step_3.dir/src/graphics/imgui/imgui.cpp.o.d DEP_FILE = CMakeFiles/Step_3.dir/src/graphics/imgui/imgui.cpp.o.d
FLAGS = -fsanitize=address -g -march=native -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 3/cmake-build-debug" -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/include" INCLUDES = -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/cmake-build-debug" -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/include"
@ -162,6 +186,7 @@ build CMakeFiles/Step_3.dir/src/graphics/imgui/imgui.cpp.o: CXX_COMPILER__Step_3
OBJECT_FILE_DIR = CMakeFiles/Step_3.dir/src/graphics/imgui OBJECT_FILE_DIR = CMakeFiles/Step_3.dir/src/graphics/imgui
build CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_demo.cpp.o: CXX_COMPILER__Step_3_Debug /home/brett/Documents/Brock/CS$ 3P93/Project/Step$ 3/src/graphics/imgui/imgui_demo.cpp || cmake_object_order_depends_target_Step_3 build CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_demo.cpp.o: CXX_COMPILER__Step_3_Debug /home/brett/Documents/Brock/CS$ 3P93/Project/Step$ 3/src/graphics/imgui/imgui_demo.cpp || cmake_object_order_depends_target_Step_3
DEFINES = -DCL_TARGET_OPENCL_VERSION=220
DEP_FILE = CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_demo.cpp.o.d DEP_FILE = CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_demo.cpp.o.d
FLAGS = -fsanitize=address -g -march=native -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 3/cmake-build-debug" -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/include" INCLUDES = -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/cmake-build-debug" -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/include"
@ -169,6 +194,7 @@ build CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_demo.cpp.o: CXX_COMPILER__S
OBJECT_FILE_DIR = CMakeFiles/Step_3.dir/src/graphics/imgui OBJECT_FILE_DIR = CMakeFiles/Step_3.dir/src/graphics/imgui
build CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_draw.cpp.o: CXX_COMPILER__Step_3_Debug /home/brett/Documents/Brock/CS$ 3P93/Project/Step$ 3/src/graphics/imgui/imgui_draw.cpp || cmake_object_order_depends_target_Step_3 build CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_draw.cpp.o: CXX_COMPILER__Step_3_Debug /home/brett/Documents/Brock/CS$ 3P93/Project/Step$ 3/src/graphics/imgui/imgui_draw.cpp || cmake_object_order_depends_target_Step_3
DEFINES = -DCL_TARGET_OPENCL_VERSION=220
DEP_FILE = CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_draw.cpp.o.d DEP_FILE = CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_draw.cpp.o.d
FLAGS = -fsanitize=address -g -march=native -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 3/cmake-build-debug" -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/include" INCLUDES = -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/cmake-build-debug" -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/include"
@ -176,6 +202,7 @@ build CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_draw.cpp.o: CXX_COMPILER__S
OBJECT_FILE_DIR = CMakeFiles/Step_3.dir/src/graphics/imgui OBJECT_FILE_DIR = CMakeFiles/Step_3.dir/src/graphics/imgui
build CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_impl_glfw.cpp.o: CXX_COMPILER__Step_3_Debug /home/brett/Documents/Brock/CS$ 3P93/Project/Step$ 3/src/graphics/imgui/imgui_impl_glfw.cpp || cmake_object_order_depends_target_Step_3 build CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_impl_glfw.cpp.o: CXX_COMPILER__Step_3_Debug /home/brett/Documents/Brock/CS$ 3P93/Project/Step$ 3/src/graphics/imgui/imgui_impl_glfw.cpp || cmake_object_order_depends_target_Step_3
DEFINES = -DCL_TARGET_OPENCL_VERSION=220
DEP_FILE = CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_impl_glfw.cpp.o.d DEP_FILE = CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_impl_glfw.cpp.o.d
FLAGS = -fsanitize=address -g -march=native -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 3/cmake-build-debug" -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/include" INCLUDES = -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/cmake-build-debug" -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/include"
@ -183,6 +210,7 @@ build CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_impl_glfw.cpp.o: CXX_COMPIL
OBJECT_FILE_DIR = CMakeFiles/Step_3.dir/src/graphics/imgui OBJECT_FILE_DIR = CMakeFiles/Step_3.dir/src/graphics/imgui
build CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_impl_opengl3.cpp.o: CXX_COMPILER__Step_3_Debug /home/brett/Documents/Brock/CS$ 3P93/Project/Step$ 3/src/graphics/imgui/imgui_impl_opengl3.cpp || cmake_object_order_depends_target_Step_3 build CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_impl_opengl3.cpp.o: CXX_COMPILER__Step_3_Debug /home/brett/Documents/Brock/CS$ 3P93/Project/Step$ 3/src/graphics/imgui/imgui_impl_opengl3.cpp || cmake_object_order_depends_target_Step_3
DEFINES = -DCL_TARGET_OPENCL_VERSION=220
DEP_FILE = CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_impl_opengl3.cpp.o.d DEP_FILE = CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_impl_opengl3.cpp.o.d
FLAGS = -fsanitize=address -g -march=native -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 3/cmake-build-debug" -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/include" INCLUDES = -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/cmake-build-debug" -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/include"
@ -190,6 +218,7 @@ build CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_impl_opengl3.cpp.o: CXX_COM
OBJECT_FILE_DIR = CMakeFiles/Step_3.dir/src/graphics/imgui OBJECT_FILE_DIR = CMakeFiles/Step_3.dir/src/graphics/imgui
build CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_impl_x11.cpp.o: CXX_COMPILER__Step_3_Debug /home/brett/Documents/Brock/CS$ 3P93/Project/Step$ 3/src/graphics/imgui/imgui_impl_x11.cpp || cmake_object_order_depends_target_Step_3 build CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_impl_x11.cpp.o: CXX_COMPILER__Step_3_Debug /home/brett/Documents/Brock/CS$ 3P93/Project/Step$ 3/src/graphics/imgui/imgui_impl_x11.cpp || cmake_object_order_depends_target_Step_3
DEFINES = -DCL_TARGET_OPENCL_VERSION=220
DEP_FILE = CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_impl_x11.cpp.o.d DEP_FILE = CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_impl_x11.cpp.o.d
FLAGS = -fsanitize=address -g -march=native -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 3/cmake-build-debug" -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/include" INCLUDES = -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/cmake-build-debug" -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/include"
@ -197,6 +226,7 @@ build CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_impl_x11.cpp.o: CXX_COMPILE
OBJECT_FILE_DIR = CMakeFiles/Step_3.dir/src/graphics/imgui OBJECT_FILE_DIR = CMakeFiles/Step_3.dir/src/graphics/imgui
build CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_tables.cpp.o: CXX_COMPILER__Step_3_Debug /home/brett/Documents/Brock/CS$ 3P93/Project/Step$ 3/src/graphics/imgui/imgui_tables.cpp || cmake_object_order_depends_target_Step_3 build CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_tables.cpp.o: CXX_COMPILER__Step_3_Debug /home/brett/Documents/Brock/CS$ 3P93/Project/Step$ 3/src/graphics/imgui/imgui_tables.cpp || cmake_object_order_depends_target_Step_3
DEFINES = -DCL_TARGET_OPENCL_VERSION=220
DEP_FILE = CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_tables.cpp.o.d DEP_FILE = CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_tables.cpp.o.d
FLAGS = -fsanitize=address -g -march=native -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 3/cmake-build-debug" -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/include" INCLUDES = -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/cmake-build-debug" -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/include"
@ -204,6 +234,7 @@ build CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_tables.cpp.o: CXX_COMPILER_
OBJECT_FILE_DIR = CMakeFiles/Step_3.dir/src/graphics/imgui OBJECT_FILE_DIR = CMakeFiles/Step_3.dir/src/graphics/imgui
build CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_widgets.cpp.o: CXX_COMPILER__Step_3_Debug /home/brett/Documents/Brock/CS$ 3P93/Project/Step$ 3/src/graphics/imgui/imgui_widgets.cpp || cmake_object_order_depends_target_Step_3 build CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_widgets.cpp.o: CXX_COMPILER__Step_3_Debug /home/brett/Documents/Brock/CS$ 3P93/Project/Step$ 3/src/graphics/imgui/imgui_widgets.cpp || cmake_object_order_depends_target_Step_3
DEFINES = -DCL_TARGET_OPENCL_VERSION=220
DEP_FILE = CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_widgets.cpp.o.d DEP_FILE = CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_widgets.cpp.o.d
FLAGS = -fsanitize=address -g -march=native -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 3/cmake-build-debug" -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/include" INCLUDES = -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/cmake-build-debug" -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/include"
@ -211,12 +242,21 @@ build CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_widgets.cpp.o: CXX_COMPILER
OBJECT_FILE_DIR = CMakeFiles/Step_3.dir/src/graphics/imgui OBJECT_FILE_DIR = CMakeFiles/Step_3.dir/src/graphics/imgui
build CMakeFiles/Step_3.dir/src/graphics/input.cpp.o: CXX_COMPILER__Step_3_Debug /home/brett/Documents/Brock/CS$ 3P93/Project/Step$ 3/src/graphics/input.cpp || cmake_object_order_depends_target_Step_3 build CMakeFiles/Step_3.dir/src/graphics/input.cpp.o: CXX_COMPILER__Step_3_Debug /home/brett/Documents/Brock/CS$ 3P93/Project/Step$ 3/src/graphics/input.cpp || cmake_object_order_depends_target_Step_3
DEFINES = -DCL_TARGET_OPENCL_VERSION=220
DEP_FILE = CMakeFiles/Step_3.dir/src/graphics/input.cpp.o.d DEP_FILE = CMakeFiles/Step_3.dir/src/graphics/input.cpp.o.d
FLAGS = -fsanitize=address -g -march=native -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 3/cmake-build-debug" -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/include" INCLUDES = -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/cmake-build-debug" -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/include"
OBJECT_DIR = CMakeFiles/Step_3.dir OBJECT_DIR = CMakeFiles/Step_3.dir
OBJECT_FILE_DIR = CMakeFiles/Step_3.dir/src/graphics OBJECT_FILE_DIR = CMakeFiles/Step_3.dir/src/graphics
build CMakeFiles/Step_3.dir/src/opencl/cl.cpp.o: CXX_COMPILER__Step_3_Debug /home/brett/Documents/Brock/CS$ 3P93/Project/Step$ 3/src/opencl/cl.cpp || cmake_object_order_depends_target_Step_3
DEFINES = -DCL_TARGET_OPENCL_VERSION=220
DEP_FILE = CMakeFiles/Step_3.dir/src/opencl/cl.cpp.o.d
FLAGS = -fsanitize=address -g -march=native -g -fsanitize=address -std=gnu++20
INCLUDES = -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/cmake-build-debug" -I"/home/brett/Documents/Brock/CS 3P93/Project/Step 3/include"
OBJECT_DIR = CMakeFiles/Step_3.dir
OBJECT_FILE_DIR = CMakeFiles/Step_3.dir/src/opencl
# ============================================================================= # =============================================================================
# Link build statements for EXECUTABLE target Step_3 # Link build statements for EXECUTABLE target Step_3
@ -225,10 +265,10 @@ build CMakeFiles/Step_3.dir/src/graphics/input.cpp.o: CXX_COMPILER__Step_3_Debug
############################################# #############################################
# Link the executable Step_3 # Link the executable Step_3
build Step_3: CXX_EXECUTABLE_LINKER__Step_3_Debug CMakeFiles/Step_3.dir/src/engine/globals.cpp.o CMakeFiles/Step_3.dir/src/engine/image/image.cpp.o CMakeFiles/Step_3.dir/src/engine/main.cpp.o CMakeFiles/Step_3.dir/src/engine/math/bvh.cpp.o CMakeFiles/Step_3.dir/src/engine/math/colliders.cpp.o CMakeFiles/Step_3.dir/src/engine/raytracing.cpp.o CMakeFiles/Step_3.dir/src/engine/util/debug.cpp.o CMakeFiles/Step_3.dir/src/engine/util/models.cpp.o CMakeFiles/Step_3.dir/src/engine/util/parser.cpp.o CMakeFiles/Step_3.dir/src/engine/world.cpp.o CMakeFiles/Step_3.dir/src/graphics/debug_gui.cpp.o CMakeFiles/Step_3.dir/src/graphics/gl/gl.c.o CMakeFiles/Step_3.dir/src/graphics/gl/gl.cpp.o CMakeFiles/Step_3.dir/src/graphics/gl/shader.cpp.o CMakeFiles/Step_3.dir/src/graphics/graphics.cpp.o CMakeFiles/Step_3.dir/src/graphics/imgui/imgui.cpp.o CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_demo.cpp.o CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_draw.cpp.o CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_impl_glfw.cpp.o CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_impl_opengl3.cpp.o CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_impl_x11.cpp.o CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_tables.cpp.o CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_widgets.cpp.o CMakeFiles/Step_3.dir/src/graphics/input.cpp.o | /usr/lib/x86_64-linux-gnu/libGLU.so /usr/lib/x86_64-linux-gnu/libGLX.so /usr/lib/x86_64-linux-gnu/libglfw.so.3.3 /usr/lib/x86_64-linux-gnu/libOpenCL.so /usr/lib/x86_64-linux-gnu/libGLX.so /usr/lib/x86_64-linux-gnu/libOpenGL.so build Step_3: CXX_EXECUTABLE_LINKER__Step_3_Debug CMakeFiles/Step_3.dir/src/engine/globals.cpp.o CMakeFiles/Step_3.dir/src/engine/image/image.cpp.o CMakeFiles/Step_3.dir/src/engine/main.cpp.o CMakeFiles/Step_3.dir/src/engine/math/bvh.cpp.o CMakeFiles/Step_3.dir/src/engine/math/colliders.cpp.o CMakeFiles/Step_3.dir/src/engine/raytracing.cpp.o CMakeFiles/Step_3.dir/src/engine/util/debug.cpp.o CMakeFiles/Step_3.dir/src/engine/util/loaders.cpp.o CMakeFiles/Step_3.dir/src/engine/util/models.cpp.o CMakeFiles/Step_3.dir/src/engine/util/parser.cpp.o CMakeFiles/Step_3.dir/src/engine/world.cpp.o CMakeFiles/Step_3.dir/src/graphics/debug_gui.cpp.o CMakeFiles/Step_3.dir/src/graphics/gl/gl.c.o CMakeFiles/Step_3.dir/src/graphics/gl/gl.cpp.o CMakeFiles/Step_3.dir/src/graphics/gl/shader.cpp.o CMakeFiles/Step_3.dir/src/graphics/graphics.cpp.o CMakeFiles/Step_3.dir/src/graphics/imgui/imgui.cpp.o CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_demo.cpp.o CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_draw.cpp.o CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_impl_glfw.cpp.o CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_impl_opengl3.cpp.o CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_impl_x11.cpp.o CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_tables.cpp.o CMakeFiles/Step_3.dir/src/graphics/imgui/imgui_widgets.cpp.o CMakeFiles/Step_3.dir/src/graphics/input.cpp.o CMakeFiles/Step_3.dir/src/opencl/cl.cpp.o | /usr/lib/x86_64-linux-gnu/libGLU.so /usr/lib/x86_64-linux-gnu/libGLX.so /usr/lib/x86_64-linux-gnu/libglfw.so.3.3 /usr/lib/x86_64-linux-gnu/libOpenCL.so /usr/lib/x86_64-linux-gnu/libOpenCL.so /usr/lib/x86_64-linux-gnu/libGLX.so /usr/lib/x86_64-linux-gnu/libOpenGL.so
FLAGS = -fsanitize=address -g -march=native -g FLAGS = -fsanitize=address -g -march=native -g
LINK_FLAGS = -fsanitize=address LINK_FLAGS = -fsanitize=address
LINK_LIBRARIES = -lpthread /usr/lib/x86_64-linux-gnu/libGLU.so /usr/lib/x86_64-linux-gnu/libGLX.so /usr/lib/x86_64-linux-gnu/libglfw.so.3.3 /usr/lib/x86_64-linux-gnu/libOpenCL.so /usr/lib/x86_64-linux-gnu/libGLX.so /usr/lib/x86_64-linux-gnu/libOpenGL.so LINK_LIBRARIES = -lpthread /usr/lib/x86_64-linux-gnu/libGLU.so /usr/lib/x86_64-linux-gnu/libGLX.so /usr/lib/x86_64-linux-gnu/libglfw.so.3.3 /usr/lib/x86_64-linux-gnu/libOpenCL.so /usr/lib/x86_64-linux-gnu/libOpenCL.so /usr/lib/x86_64-linux-gnu/libGLX.so /usr/lib/x86_64-linux-gnu/libOpenGL.so
OBJECT_DIR = CMakeFiles/Step_3.dir OBJECT_DIR = CMakeFiles/Step_3.dir
POST_BUILD = : POST_BUILD = :
PRE_LINK = : PRE_LINK = :

View File

@ -114,11 +114,11 @@ namespace Raytracing {
if (left.left.size() != right.left.size() || left.right.size() != right.right.size()) if (left.left.size() != right.left.size() || left.right.size() != right.right.size())
return false; return false;
for (int i = 0; i < left.left.size(); i++) { for (int i = 0; i < left.left.size(); i++) {
if (left.left[i].aabb != right.left[i].aabb) if (!(left.left[i].aabb == right.left[i].aabb))
return false; return false;
} }
for (int i = 0; i < left.right.size(); i++) { for (int i = 0; i < left.right.size(); i++) {
if (left.right[i].aabb != right.right[i].aabb) if (!(left.right[i].aabb == right.right[i].aabb))
return false; return false;
} }
return true; return true;
@ -138,7 +138,7 @@ namespace Raytracing {
int index, hit = 0; int index, hit = 0;
BVHHitData firstHitRayIntersectTraversal(const Ray& r, PRECISION_TYPE min, PRECISION_TYPE max); BVHHitData firstHitRayIntersectTraversal(const Ray& r, PRECISION_TYPE min, PRECISION_TYPE max);
TriangleBVHNode(std::vector<TriangleBVHObject> objs, AABB aabb, TriangleBVHNode* left, TriangleBVHNode* right) TriangleBVHNode(std::vector<TriangleBVHObject> objs, AABB aabb, TriangleBVHNode* left, TriangleBVHNode* right)
: objs(std::move(objs)), aabb(std::move(aabb)), left(left), right(right) {} : objs(std::move(objs)), aabb(std::move(aabb)), left(left), right(right) {index = count++;}
~TriangleBVHNode() { ~TriangleBVHNode() {
delete (left); delete (left);
delete (right); delete (right);
@ -152,6 +152,7 @@ namespace Raytracing {
static TriangleBVHPartitionedSpace partition(const std::pair<AABB, AABB>& aabbs, const std::vector<TriangleBVHObject>& objs); static TriangleBVHPartitionedSpace partition(const std::pair<AABB, AABB>& aabbs, const std::vector<TriangleBVHObject>& objs);
TriangleBVHNode* addObjectsRecursively(const std::vector<TriangleBVHObject>& objects, const TriangleBVHPartitionedSpace& prevSpace); TriangleBVHNode* addObjectsRecursively(const std::vector<TriangleBVHObject>& objects, const TriangleBVHPartitionedSpace& prevSpace);
public: public:
int index;
explicit TriangleBVHTree(const std::vector<TriangleBVHObject>& objectsInWorld) { explicit TriangleBVHTree(const std::vector<TriangleBVHObject>& objectsInWorld) {
addObjects(objectsInWorld); addObjects(objectsInWorld);
#ifdef COMPILE_GUI #ifdef COMPILE_GUI
@ -159,6 +160,7 @@ namespace Raytracing {
if (aabbVAO == nullptr) if (aabbVAO == nullptr)
aabbVAO = std::make_shared<VAO>(aabbVertexData.cubeVerticesRaw, aabbVertexData.cubeUVs); aabbVAO = std::make_shared<VAO>(aabbVertexData.cubeVerticesRaw, aabbVertexData.cubeUVs);
#endif #endif
index = count++;
} }
void addObjects(const std::vector<TriangleBVHObject>& objects); void addObjects(const std::vector<TriangleBVHObject>& objects);

View File

@ -110,6 +110,7 @@ namespace Raytracing {
[[nodiscard]] PRECISION_TYPE longestAxisLength() const; [[nodiscard]] PRECISION_TYPE longestAxisLength() const;
[[nodiscard]] std::pair<AABB, AABB> splitByLongestAxis(); [[nodiscard]] std::pair<AABB, AABB> splitByLongestAxis();
[[nodiscard]] std::pair<AABB, AABB> splitAlongAxis(AABBAxis axis); [[nodiscard]] std::pair<AABB, AABB> splitAlongAxis(AABBAxis axis);
[[nodiscard]] std::pair<AABB, AABB> splitAlongAxis();
[[nodiscard]] PRECISION_TYPE avgDistanceFromCenter() const; [[nodiscard]] PRECISION_TYPE avgDistanceFromCenter() const;
@ -140,6 +141,16 @@ namespace Raytracing {
const auto& bMin = b.getMin(); const auto& bMin = b.getMin();
return aMax == bMax && aMin == bMin; return aMax == bMax && aMin == bMin;
} }
inline bool operator&=(const AABB& a, const AABB& b) {
const auto& aMax = a.getMax();
const auto& aMin = a.getMin();
const auto& bMax = b.getMax();
const auto& bMin = b.getMin();
PRECISION_TYPE E = 0.5;
return (aMax < bMax + E && aMax > bMax - E && aMin < bMin + E && aMin > bMin - E);
return aMax == bMax && aMin == bMin;
}
inline std::ostream& operator<<(std::ostream& out, const AABB& v) { inline std::ostream& operator<<(std::ostream& out, const AABB& v) {
auto max = v.getMax(); auto max = v.getMax();

View File

@ -349,11 +349,41 @@ namespace Raytracing {
return {left.x() + right.x(), left.y() + right.y(), left.z() + right.z(), left.w() + right.w()}; return {left.x() + right.x(), left.y() + right.y(), left.z() + right.z(), left.w() + right.w()};
} }
// adds all vector axis with a constant
inline Vec4 operator+(const Vec4& left, const PRECISION_TYPE right) {
return {left.x() + right, left.y() + right, left.z() + right, left.w() + right};
}
// checks if the 3 major axis on the left are less than the right
inline bool operator<(const Vec4& left, const Vec4& right) {
return left.x() < right.x() && left.y() < right.y() && left.z() < right.z();
}
// checks if the 3 major axis on the left are greater than the right
inline bool operator>(const Vec4& left, const Vec4& right) {
return left.x() > right.x() && left.y() > right.y() && left.z() > right.z();
}
// checks if the 3 major axis on the left are less equal than the right
inline bool operator<=(const Vec4& left, const Vec4& right) {
return left.x() <= right.x() && left.y() <= right.y() && left.z() <= right.z() && left.w() <= right.w();
}
// checks if all major axis on the left are greater equal than the right
inline bool 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. // subtracts the right vector from the left.
inline Vec4 operator-(const Vec4& left, const Vec4& 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()}; return {left.x() - right.x(), left.y() - right.y(), left.z() - right.z(), left.w() - right.w()};
} }
// subtracts all vector axis with a constant
inline Vec4 operator-(const Vec4& left, const PRECISION_TYPE right) {
return {left.x() - right, left.y() - right, left.z() - right, left.w() - right};
}
// multiples the left with the right // multiples the left with the right
inline Vec4 operator*(const Vec4& left, const Vec4& 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()}; return {left.x() * right.x(), left.y() * right.y(), left.z() * right.z(), left.w() * right.w()};

View File

@ -0,0 +1,21 @@
/*
* Created by Brett Terpstra 6920201 on 20/11/22.
* Copyright (c) 2022 Brett Terpstra. All Rights Reserved.
*/
#ifndef STEP_3_LOADERS_H
#define STEP_3_LOADERS_H
#include <engine/util/std.h>
namespace Raytracing {
class ShaderLoader {
public:
static void define(const std::string& key, const std::string& replacement);
static std::string loadShaderFile(const std::string& path);
};
}
#endif //STEP_3_LOADERS_H

View File

@ -100,7 +100,7 @@ namespace Raytracing {
bool padding[7]{}; bool padding[7]{};
Shader& worldShader; Shader& worldShader;
WorldConfig(Shader& shader): worldShader(shader) {} explicit WorldConfig(Shader& shader): worldShader(shader) {}
}; };
class World { class World {

View File

@ -0,0 +1,37 @@
/*
* Created by Brett Terpstra 6920201 on 20/11/22.
* Copyright (c) 2022 Brett Terpstra. All Rights Reserved.
*/
#ifndef STEP_3_CL_H
#define STEP_3_CL_H
// OpenCL includes
#include <CL/cl.h>
#include <engine/util/std.h>
namespace Raytracing {
class OpenCL {
private:
cl_int CL_err;
cl_uint numPlatforms;
int activePlatform;
cl_int platformIDResult;
cl_platform_id* platformsIDs;
cl_uint numOfPlatformIDs;
void printDeviceInfo(cl_device_id device);
public:
explicit OpenCL(int platformID);
static void init();
~OpenCL();
};
}
#endif //STEP_3_CL_H

View File

@ -0,0 +1,7 @@
#define IAMVERYGAY
int tester(int i){
return i * i;
}

View File

@ -1,5 +1,7 @@
#version 330 core #version 330 core
#include <test.h>
layout (location = 0) in vec3 inPos; layout (location = 0) in vec3 inPos;
layout (location = 1) in vec2 inUv; layout (location = 1) in vec2 inUv;
layout (location = 2) in vec3 inNormal; layout (location = 2) in vec3 inNormal;

View File

@ -18,6 +18,12 @@
#endif #endif
#ifdef COMPILE_OPENCL
#include <opencl/cl.h>
#endif
/** /**
* Brett Terpstra 6920201 * Brett Terpstra 6920201
@ -90,6 +96,10 @@ int main(int argc, char** args) {
// not perfect (contains duplicates) but good enough. // not perfect (contains duplicates) but good enough.
parser.printAllInInfo(); parser.printAllInInfo();
#ifdef COMPILE_OPENCL
OpenCL::init();
#endif
#ifdef COMPILE_GUI #ifdef COMPILE_GUI
XWindow* window; XWindow* window;
if (parser.hasOption("--gui") || parser.hasOption("-g")) if (parser.hasOption("--gui") || parser.hasOption("-g"))

View File

@ -315,12 +315,12 @@ namespace Raytracing {
} }
/** /**
* Returns all the objects intersected by the provided ray. The returned objects are in no particular order. * Returns all the objects intersected by the provided ray. The returned objects are in no particular order.
* @param ray to use in AABB intersection * @param ray to use in AABB intersection
* @param min min t allowed for intersection search * @param min min t allowed for intersection search
* @param max max t allowed * @param max max t allowed
* @return a unordered array of objects intersected by ray in this BVH. * @return a unordered array of objects intersected by ray in this BVH.
*/ */
std::vector<TriangleBVHObject> TriangleBVHTree::rayAnyHitIntersect(const Ray& ray, PRECISION_TYPE min, PRECISION_TYPE max) { std::vector<TriangleBVHObject> TriangleBVHTree::rayAnyHitIntersect(const Ray& ray, PRECISION_TYPE min, PRECISION_TYPE max) {
std::queue<TriangleBVHNode*> nodes{}; std::queue<TriangleBVHNode*> nodes{};
std::vector<TriangleBVHObject> objects; std::vector<TriangleBVHObject> objects;

View File

@ -143,4 +143,27 @@ namespace Raytracing {
transform.scale(float(xRadius), float(yRadius), float(zRadius)); transform.scale(float(xRadius), float(yRadius), float(zRadius));
return transform; return transform;
} }
int lastAxis = 2;
std::pair<AABB, AABB> AABB::splitAlongAxis() {
lastAxis %= 3;
lastAxis += 1;
// return the new split AABBs based on the calculated max lengths, but only in their respective axis.
if (lastAxis == 1){
PRECISION_TYPE X = std::abs(max.x() - min.x());
PRECISION_TYPE X2 = X/2;
// end the first at half the parent.
return {{min.x(), min.y(), min.z(), max.x()-X2, max.y(), max.z()},
// start the second AABB at the end of the first AABB.
{min.x()+X2, min.y(), min.z(), max.x(), max.y(), max.z()}};
} else if (lastAxis == 2) {
PRECISION_TYPE Y = std::abs(max.y() - min.y());
PRECISION_TYPE Y2 = Y/2;
return {{min.x(), min.y(), min.z(), max.x(), max.y()-Y2, max.z()}, {min.x(), min.y()+Y2, min.z(), max.x(), max.y(), max.z()}};
} else {
PRECISION_TYPE Z = std::abs(max.z() - min.z());
PRECISION_TYPE Z2 = Z/2;
return {{min.x(), min.y(), min.z(), max.x(), max.y(), max.z()-Z2}, {min.x(), min.y(), min.z()+Z2, max.x(), max.y(), max.z()}};
}
}
} }

View File

@ -0,0 +1,110 @@
/*
* Created by Brett Terpstra 6920201 on 20/11/22.
* Copyright (c) 2022 Brett Terpstra. All Rights Reserved.
*/
#include <engine/util/loaders.h>
#include <fstream>
#include <ios>
namespace Raytracing {
std::unordered_map<std::string, std::string> defines;
std::vector<std::string> getLinesFromFile(const std::string& path){
std::string shaderSource;
std::ifstream shaderFile;
RTAssert(shaderFile.good());
// ensure ifstream objects can throw exceptions:
shaderFile.exceptions (std::ifstream::failbit | std::ifstream::badbit);
try {
// open file
shaderFile.open(path);
std::stringstream shaderStream;
// read file's buffer contents into streams
shaderStream << shaderFile.rdbuf();
// close file handlers
shaderFile.close();
// convert stream into std::string
shaderSource = shaderStream.str();
} catch(std::ifstream::failure& e) {
flog << "Unable to read file! " << path << "\n";
}
// split the shader into the lines, this way we can get out the #include statements.
return String::split(shaderSource, "\n");
}
std::vector<std::string> includeDescent(const std::string& path){
std::string pathOnly = path.substr(0, path.find_last_of('/'));
auto mainLines = getLinesFromFile(path);
std::unordered_map<int, std::vector<std::string>> includes;
for (int i = 0; i < mainLines.size(); i++){
auto& line = mainLines[i];
// if the line is an include statement then we want to add lines recursively.
if (line.starts_with("#include")){
std::vector<std::string> statement1 = String::split(line, "<");
std::vector<std::string> statement2 = String::split(line, "\"");
String::trim(line);
if ( !(line.ends_with(">") || line.ends_with("\"")) ) {
flog << "Shader file contains an invalid #include statement. (Missing terminator)\n";
throw std::runtime_error("");
}
try {
// filter out the > | " at the end of the include statement.
std::string file = statement1.empty() ? statement2[1].substr(0, statement2[1].size()-1) : statement1[1].substr(0, statement1[1].size()-1);
tlog << "Recusing into " << (pathOnly + "/" + file) << "\n";
includes.insert({i, includeDescent((pathOnly + "/" + file))});
} catch (std::exception& e){
flog << "Shader file contains an invalid #include statement. (Missing < or \")\n";
}
}
}
std::vector<std::string> returnLines;
// now combine all the loaded files while respecing the include's position in the file.
for (int i = 0; i < mainLines.size(); i++){
if (includes.contains(i)){
auto includedFileLines = includes[i];
for (const auto& line : includedFileLines)
returnLines.push_back(line);
} else
returnLines.push_back(mainLines[i]);
}
return returnLines;
}
std::string ShaderLoader::loadShaderFile(const std::string& path) {
std::stringstream stringStream;
auto lines = includeDescent(path);
for (const auto& line : lines){
// now process the defines, if they exist
if (line.starts_with("#define")){
auto defineParts = String::split(line, " ");
// create a new define statement in the defines place but with the respective value.
if (defines.contains(defineParts[1])){
stringStream << "#define ";
stringStream << defineParts[1] << " ";
stringStream << defines[defineParts[1]];
}
} else {
stringStream << line;
stringStream << "\n";
}
}
tlog << stringStream.str();
return stringStream.str();
}
void ShaderLoader::define(const std::string& key, const std::string& replacement) {
defines.insert({key, replacement});
}
}

View File

@ -182,13 +182,13 @@ namespace Raytracing {
HitData ModelObject::checkIfHit(const Ray& ray, PRECISION_TYPE min, PRECISION_TYPE max) const { HitData ModelObject::checkIfHit(const Ray& ray, PRECISION_TYPE min, PRECISION_TYPE max) const {
auto hResult = HitData{false, Vec4(), Vec4(), max}; auto hResult = HitData{false, Vec4(), Vec4(), max};
auto tris = triangleBVH->rayAnyHitIntersect(ray, min, max); //auto tris = triangleBVH->rayAnyHitIntersect(ray, min, max);
// must check through all the triangles in the object // must check through all the triangles in the object
// respecting depth along the way // respecting depth along the way
// but reducing the max it can reach my the last longest vector length. // but reducing the max it can reach my the last longest vector length.
for (const auto& t : tris) { for (const auto& t : triangles) {
auto cResult = checkIfTriangleGotHit(*t.tri, position, ray, min, hResult.length); auto cResult = checkIfTriangleGotHit(*t, position, ray, min, hResult.length);
if (cResult.hit) if (cResult.hit)
hResult = cResult; hResult = cResult;
} }

View File

@ -232,6 +232,7 @@ namespace Raytracing {
} }
void DebugBVH::render() { void DebugBVH::render() {
glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
if (m_bvhTree != nullptr) { if (m_bvhTree != nullptr) {
ImGui::Begin(("BVH Data "), nullptr, ImGuiWindowFlags_NoCollapse); ImGui::Begin(("BVH Data "), nullptr, ImGuiWindowFlags_NoCollapse);
m_shader.use(); m_shader.use();
@ -257,12 +258,12 @@ namespace Raytracing {
ImGui::End(); ImGui::End();
} }
if (m_triangleBVHTree) { if (m_triangleBVHTree) {
ImGui::Begin(("TBVH Data "), nullptr, ImGuiWindowFlags_NoCollapse); ImGui::Begin((std::string("TBVH Data ") + std::to_string(m_triangleBVHTree->index)).c_str(), nullptr, ImGuiWindowFlags_NoCollapse);
m_shader.use(); m_shader.use();
m_shader.setInt("useWhite", 1); m_shader.setInt("useWhite", 1);
m_shader.setVec3("color", {1.0, 1.0, 1.0}); m_shader.setVec3("color", {1.0, 1.0, 1.0});
{ {
ImGui::BeginChild("left pane", ImVec2(180, 0), true); ImGui::BeginChild("left pane", ImVec2(280, 0), true);
guiNodesRecur(m_triangleBVHTree->getRoot()); guiNodesRecur(m_triangleBVHTree->getRoot());
ImGui::EndChild(); ImGui::EndChild();
} }
@ -280,6 +281,7 @@ namespace Raytracing {
m_shader.setInt("useWhite", 0); m_shader.setInt("useWhite", 0);
ImGui::End(); ImGui::End();
} }
glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
} }
DebugBVH::~DebugBVH() { DebugBVH::~DebugBVH() {
DebugMenus::remove(std::shared_ptr<DebugObject>(this)); DebugMenus::remove(std::shared_ptr<DebugObject>(this));

View File

@ -6,6 +6,7 @@
#include "graphics/gl/shader.h" #include "graphics/gl/shader.h"
#include <fstream> #include <fstream>
#include <ios> #include <ios>
#include <engine/util/loaders.h>
namespace Raytracing { namespace Raytracing {
Shader::Shader(const std::string& vertex, const std::string& fragment, bool loadString) { Shader::Shader(const std::string& vertex, const std::string& fragment, bool loadString) {
@ -103,6 +104,7 @@ namespace Raytracing {
return -1; return -1;
} }
shaderSource = ShaderLoader::loadShaderFile(file);
const char* shaderCode = shaderSource.c_str(); const char* shaderCode = shaderSource.c_str();
// creates a Shader // creates a Shader
unsigned int shaderID = glCreateShader(type); unsigned int shaderID = glCreateShader(type);

View File

@ -507,7 +507,6 @@ namespace Raytracing {
}); });
if (debug){ if (debug){
DebugMenus::render();
auto projection = m_camera.project(); auto projection = m_camera.project();
if (m_window.isMouseGrabbed()) { if (m_window.isMouseGrabbed()) {
yaw += (float) Input::getMouseDelta().x * (1000.0f / ImGui::GetIO().Framerate / 1000.0f) * 3; yaw += (float) Input::getMouseDelta().x * (1000.0f / ImGui::GetIO().Framerate / 1000.0f) * 3;
@ -582,6 +581,7 @@ namespace Raytracing {
obj->getVAO()->draw(m_worldShader, {obj->getPosition()}); obj->getVAO()->draw(m_worldShader, {obj->getPosition()});
} }
} }
DebugMenus::render();
} else { } else {
m_imageShader.use(); m_imageShader.use();
m_mainImage.updateImage(); m_mainImage.updateImage();

34
Step 3/src/opencl/cl.cpp Normal file
View File

@ -0,0 +1,34 @@
/*
* Created by Brett Terpstra 6920201 on 20/11/22.
* Copyright (c) 2022 Brett Terpstra. All Rights Reserved.
*/
#include <opencl/cl.h>
namespace Raytracing {
OpenCL openCl {0};
void OpenCL::init() {
openCl = OpenCL{0};
}
OpenCL::OpenCL(int platformID): activePlatform(platformID) {
CL_err = CL_SUCCESS;
numPlatforms = 0;
CL_err = clGetPlatformIDs( 0, NULL, &numPlatforms );
if (CL_err == CL_SUCCESS)
dlog << "We found " << numPlatforms << " OpenCL Platforms.\n";
else
elog << "OpenCL Error! " << CL_err;
platformsIDs = new cl_platform_id[numPlatforms];
platformIDResult = clGetPlatformIDs(numPlatforms, platformsIDs, &numOfPlatformIDs);
}
OpenCL::~OpenCL() {
delete[](platformsIDs);
}
void OpenCL::printDeviceInfo(cl_device_id device) {
}
}