diff --git a/CMakeLists.txt b/CMakeLists.txt index 611ff1a..d302083 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -46,9 +46,10 @@ add_executable(FinalProject ${CPP_FILES}) target_link_libraries(FinalProject PRIVATE BLT) target_link_libraries(FinalProject PRIVATE freetype) +file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/assets DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/) + if (USE_EXTRAS) #set_target_properties(FinalProject PROPERTIES LINK_FLAGS "-s DEMANGLE_SUPPORT=1 --preload-file ${CMAKE_SOURCE_DIR}/assets --bind") - file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/assets DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/) #set_target_properties(FinalProject PROPERTIES LINK_FLAGS "-s DEMANGLE_SUPPORT=1 --preload-file 'assets' --bind") set_target_properties(FinalProject PROPERTIES LINK_FLAGS "-sMAX_WEBGL_VERSION=2 -s ASSERTIONS=1 -sUSE_GLFW=3 --preload-file 'assets'") # these flags will be set by cmake automatically based on build type diff --git a/cmake-build-debug/.ninja_log b/cmake-build-debug/.ninja_log index 56cfdea..7c7187d 100644 --- a/cmake-build-debug/.ninja_log +++ b/cmake-build-debug/.ninja_log @@ -9,7 +9,7 @@ 19 685 1675834610617266094 libraries/glfw-3.3.8/src/CMakeFiles/glfw.dir/vulkan.c.o 7ac098ea2e755b71 2 377 1675835240591243670 libraries/glfw-3.3.8/src/CMakeFiles/glfw.dir/window.c.o a716fdf6afcb3ac2 19 807 1675834610745269744 libraries/glfw-3.3.8/src/CMakeFiles/glfw.dir/x11_init.c.o 7a310a4749a2e05 -0 98 1676437177184652742 build.ninja 190f84590f6ee728 +0 98 1676522405299431511 build.ninja 190f84590f6ee728 2 434 1675915441258513581 libraries/BLT/CMakeFiles/BLT.dir/src/blt/std/format.cpp.o 342a5daa6ca9681d 18 706 1675834610629266436 libraries/glfw-3.3.8/src/CMakeFiles/glfw.dir/init.c.o 6051295f860fb367 909 1200 1676342906918621193 libraries/BLT/libBLT.a 163b10f2e7f6635 diff --git a/cmake-build-debug/Testing/Temporary/LastTest.log b/cmake-build-debug/Testing/Temporary/LastTest.log index a3647a7..dc58423 100644 --- a/cmake-build-debug/Testing/Temporary/LastTest.log +++ b/cmake-build-debug/Testing/Temporary/LastTest.log @@ -1,3 +1,3 @@ -Start testing: Feb 13 21:49 EST +Start testing: Feb 15 10:00 EST ---------------------------------------------------------- -End testing: Feb 13 21:49 EST +End testing: Feb 15 10:00 EST diff --git a/cmake-build-debug/build.ninja b/cmake-build-debug/build.ninja index 7674529..d13221b 100644 --- a/cmake-build-debug/build.ninja +++ b/cmake-build-debug/build.ninja @@ -70,6 +70,13 @@ build CMakeFiles/FinalProject.dir/src/render/gl.cpp.o: CXX_COMPILER__FinalProjec OBJECT_DIR = CMakeFiles/FinalProject.dir OBJECT_FILE_DIR = CMakeFiles/FinalProject.dir/src/render +build CMakeFiles/FinalProject.dir/src/render/ui/debug.cpp.o: CXX_COMPILER__FinalProject_Debug /home/brett/Documents/Brock/CS$ 3P98/Final$ Project/src/render/ui/debug.cpp || cmake_object_order_depends_target_FinalProject + DEP_FILE = CMakeFiles/FinalProject.dir/src/render/ui/debug.cpp.o.d + FLAGS = -fsanitize=address -g -g -fdiagnostics-color=always -fsanitize=address -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 3P98/Final Project/include" -I"/home/brett/Documents/Brock/CS 3P98/Final Project/libraries/BLT/include" -I"/home/brett/Documents/Brock/CS 3P98/Final Project/cmake-build-debug/libraries/BLT/config" -I"/home/brett/Documents/Brock/CS 3P98/Final Project/cmake-build-debug/libraries/freetype-2.13.0/include" -I"/home/brett/Documents/Brock/CS 3P98/Final Project/libraries/freetype-2.13.0/include" -I"/home/brett/Documents/Brock/CS 3P98/Final Project/libraries/glfw-3.3.8/include" + OBJECT_DIR = CMakeFiles/FinalProject.dir + OBJECT_FILE_DIR = CMakeFiles/FinalProject.dir/src/render/ui + build CMakeFiles/FinalProject.dir/src/render/ui/text.cpp.o: CXX_COMPILER__FinalProject_Debug /home/brett/Documents/Brock/CS$ 3P98/Final$ Project/src/render/ui/text.cpp || cmake_object_order_depends_target_FinalProject DEP_FILE = CMakeFiles/FinalProject.dir/src/render/ui/text.cpp.o.d FLAGS = -fsanitize=address -g -g -fdiagnostics-color=always -fsanitize=address -std=gnu++17 @@ -113,7 +120,7 @@ build CMakeFiles/FinalProject.dir/src/world/registry.cpp.o: CXX_COMPILER__FinalP ############################################# # Link the executable FinalProject -build FinalProject: CXX_EXECUTABLE_LINKER__FinalProject_Debug CMakeFiles/FinalProject.dir/src/main.cpp.o CMakeFiles/FinalProject.dir/src/render/camera.cpp.o CMakeFiles/FinalProject.dir/src/render/gl.cpp.o CMakeFiles/FinalProject.dir/src/render/ui/text.cpp.o CMakeFiles/FinalProject.dir/src/render/window.cpp.o CMakeFiles/FinalProject.dir/src/world/chunk/storage.cpp.o CMakeFiles/FinalProject.dir/src/world/chunk/world.cpp.o CMakeFiles/FinalProject.dir/src/world/registry.cpp.o | libraries/BLT/libBLT.a libraries/freetype-2.13.0/libfreetyped.a libraries/glfw-3.3.8/src/libglfw3.a /usr/lib/x86_64-linux-gnu/libz.so /usr/lib/x86_64-linux-gnu/libz.so /usr/lib/x86_64-linux-gnu/libpng.so /usr/lib/x86_64-linux-gnu/libz.so /usr/lib/x86_64-linux-gnu/libpng.so /usr/lib/x86_64-linux-gnu/libharfbuzz.so /usr/lib/x86_64-linux-gnu/libbrotlidec.so /usr/lib/x86_64-linux-gnu/librt.a /usr/lib/x86_64-linux-gnu/libm.so /usr/lib/x86_64-linux-gnu/libX11.so || libraries/BLT/libBLT.a libraries/freetype-2.13.0/libfreetyped.a libraries/glfw-3.3.8/src/libglfw3.a +build FinalProject: CXX_EXECUTABLE_LINKER__FinalProject_Debug CMakeFiles/FinalProject.dir/src/main.cpp.o CMakeFiles/FinalProject.dir/src/render/camera.cpp.o CMakeFiles/FinalProject.dir/src/render/gl.cpp.o CMakeFiles/FinalProject.dir/src/render/ui/debug.cpp.o CMakeFiles/FinalProject.dir/src/render/ui/text.cpp.o CMakeFiles/FinalProject.dir/src/render/window.cpp.o CMakeFiles/FinalProject.dir/src/world/chunk/storage.cpp.o CMakeFiles/FinalProject.dir/src/world/chunk/world.cpp.o CMakeFiles/FinalProject.dir/src/world/registry.cpp.o | libraries/BLT/libBLT.a libraries/freetype-2.13.0/libfreetyped.a libraries/glfw-3.3.8/src/libglfw3.a /usr/lib/x86_64-linux-gnu/libz.so /usr/lib/x86_64-linux-gnu/libz.so /usr/lib/x86_64-linux-gnu/libpng.so /usr/lib/x86_64-linux-gnu/libz.so /usr/lib/x86_64-linux-gnu/libpng.so /usr/lib/x86_64-linux-gnu/libharfbuzz.so /usr/lib/x86_64-linux-gnu/libbrotlidec.so /usr/lib/x86_64-linux-gnu/librt.a /usr/lib/x86_64-linux-gnu/libm.so /usr/lib/x86_64-linux-gnu/libX11.so || libraries/BLT/libBLT.a libraries/freetype-2.13.0/libfreetyped.a libraries/glfw-3.3.8/src/libglfw3.a FLAGS = -fsanitize=address -g -g LINK_FLAGS = -rdynamic -fsanitize=address LINK_LIBRARIES = libraries/BLT/libBLT.a libraries/freetype-2.13.0/libfreetyped.a libraries/glfw-3.3.8/src/libglfw3.a /usr/lib/x86_64-linux-gnu/libz.so -lz -lpng -lz -lpng -lharfbuzz -lbrotlidec -Wl,-Bstatic -lrt -Wl,-Bdynamic -lm -ldl -lX11 diff --git a/cmake-build-emrelease/CMakeFiles/CMakeOutput.log b/cmake-build-emrelease/CMakeFiles/CMakeOutput.log index 2a1a297..b24e45e 100644 --- a/cmake-build-emrelease/CMakeFiles/CMakeOutput.log +++ b/cmake-build-emrelease/CMakeFiles/CMakeOutput.log @@ -1,30 +1,30 @@ The target system is: Emscripten - 1 - x86 The host system is: Linux - 6.1.0-3-amd64 - x86_64 Determining if the include file unistd.h exists passed with the following output: -Change Dir: /home/brett/Documents/Brock/CS 3P98/Final Project/cmake-build-emrelease/CMakeFiles/CMakeScratch/TryCompile-l1ISEg +Change Dir: /home/brett/Documents/Brock/CS 3P98/Final Project/cmake-build-emrelease/CMakeFiles/CMakeScratch/TryCompile-YoGmv6 -Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_8d1a4/fast && /usr/bin/gmake -f CMakeFiles/cmTC_8d1a4.dir/build.make CMakeFiles/cmTC_8d1a4.dir/build -gmake[1]: Entering directory '/home/brett/Documents/Brock/CS 3P98/Final Project/cmake-build-emrelease/CMakeFiles/CMakeScratch/TryCompile-l1ISEg' -Building C object CMakeFiles/cmTC_8d1a4.dir/CheckIncludeFile.c.o -/usr/bin/emcc -MD -MT CMakeFiles/cmTC_8d1a4.dir/CheckIncludeFile.c.o -MF CMakeFiles/cmTC_8d1a4.dir/CheckIncludeFile.c.o.d -o CMakeFiles/cmTC_8d1a4.dir/CheckIncludeFile.c.o -c "/home/brett/Documents/Brock/CS 3P98/Final Project/cmake-build-emrelease/CMakeFiles/CMakeScratch/TryCompile-l1ISEg/CheckIncludeFile.c" -Linking C executable cmTC_8d1a4.js -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_8d1a4.dir/link.txt --verbose=1 -/usr/bin/emcc @CMakeFiles/cmTC_8d1a4.dir/objects1 -o cmTC_8d1a4.js -gmake[1]: Leaving directory '/home/brett/Documents/Brock/CS 3P98/Final Project/cmake-build-emrelease/CMakeFiles/CMakeScratch/TryCompile-l1ISEg' +Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_20850/fast && /usr/bin/gmake -f CMakeFiles/cmTC_20850.dir/build.make CMakeFiles/cmTC_20850.dir/build +gmake[1]: Entering directory '/home/brett/Documents/Brock/CS 3P98/Final Project/cmake-build-emrelease/CMakeFiles/CMakeScratch/TryCompile-YoGmv6' +Building C object CMakeFiles/cmTC_20850.dir/CheckIncludeFile.c.o +/usr/bin/emcc -MD -MT CMakeFiles/cmTC_20850.dir/CheckIncludeFile.c.o -MF CMakeFiles/cmTC_20850.dir/CheckIncludeFile.c.o.d -o CMakeFiles/cmTC_20850.dir/CheckIncludeFile.c.o -c "/home/brett/Documents/Brock/CS 3P98/Final Project/cmake-build-emrelease/CMakeFiles/CMakeScratch/TryCompile-YoGmv6/CheckIncludeFile.c" +Linking C executable cmTC_20850.js +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_20850.dir/link.txt --verbose=1 +/usr/bin/emcc @CMakeFiles/cmTC_20850.dir/objects1 -o cmTC_20850.js +gmake[1]: Leaving directory '/home/brett/Documents/Brock/CS 3P98/Final Project/cmake-build-emrelease/CMakeFiles/CMakeScratch/TryCompile-YoGmv6' Determining if the include file fcntl.h exists passed with the following output: -Change Dir: /home/brett/Documents/Brock/CS 3P98/Final Project/cmake-build-emrelease/CMakeFiles/CMakeScratch/TryCompile-fFQ9Kn +Change Dir: /home/brett/Documents/Brock/CS 3P98/Final Project/cmake-build-emrelease/CMakeFiles/CMakeScratch/TryCompile-xPVPFz -Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_a1663/fast && /usr/bin/gmake -f CMakeFiles/cmTC_a1663.dir/build.make CMakeFiles/cmTC_a1663.dir/build -gmake[1]: Entering directory '/home/brett/Documents/Brock/CS 3P98/Final Project/cmake-build-emrelease/CMakeFiles/CMakeScratch/TryCompile-fFQ9Kn' -Building C object CMakeFiles/cmTC_a1663.dir/CheckIncludeFile.c.o -/usr/bin/emcc -MD -MT CMakeFiles/cmTC_a1663.dir/CheckIncludeFile.c.o -MF CMakeFiles/cmTC_a1663.dir/CheckIncludeFile.c.o.d -o CMakeFiles/cmTC_a1663.dir/CheckIncludeFile.c.o -c "/home/brett/Documents/Brock/CS 3P98/Final Project/cmake-build-emrelease/CMakeFiles/CMakeScratch/TryCompile-fFQ9Kn/CheckIncludeFile.c" -Linking C executable cmTC_a1663.js -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_a1663.dir/link.txt --verbose=1 -/usr/bin/emcc @CMakeFiles/cmTC_a1663.dir/objects1 -o cmTC_a1663.js -gmake[1]: Leaving directory '/home/brett/Documents/Brock/CS 3P98/Final Project/cmake-build-emrelease/CMakeFiles/CMakeScratch/TryCompile-fFQ9Kn' +Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_ed00e/fast && /usr/bin/gmake -f CMakeFiles/cmTC_ed00e.dir/build.make CMakeFiles/cmTC_ed00e.dir/build +gmake[1]: Entering directory '/home/brett/Documents/Brock/CS 3P98/Final Project/cmake-build-emrelease/CMakeFiles/CMakeScratch/TryCompile-xPVPFz' +Building C object CMakeFiles/cmTC_ed00e.dir/CheckIncludeFile.c.o +/usr/bin/emcc -MD -MT CMakeFiles/cmTC_ed00e.dir/CheckIncludeFile.c.o -MF CMakeFiles/cmTC_ed00e.dir/CheckIncludeFile.c.o.d -o CMakeFiles/cmTC_ed00e.dir/CheckIncludeFile.c.o -c "/home/brett/Documents/Brock/CS 3P98/Final Project/cmake-build-emrelease/CMakeFiles/CMakeScratch/TryCompile-xPVPFz/CheckIncludeFile.c" +Linking C executable cmTC_ed00e.js +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_ed00e.dir/link.txt --verbose=1 +/usr/bin/emcc @CMakeFiles/cmTC_ed00e.dir/objects1 -o cmTC_ed00e.js +gmake[1]: Leaving directory '/home/brett/Documents/Brock/CS 3P98/Final Project/cmake-build-emrelease/CMakeFiles/CMakeScratch/TryCompile-xPVPFz' diff --git a/cmake-build-emrelease/CMakeFiles/FinalProject.dir/src/main.cpp.o.d b/cmake-build-emrelease/CMakeFiles/FinalProject.dir/src/main.cpp.o.d index 41be72f..a027fd9 100644 --- a/cmake-build-emrelease/CMakeFiles/FinalProject.dir/src/main.cpp.o.d +++ b/cmake-build-emrelease/CMakeFiles/FinalProject.dir/src/main.cpp.o.d @@ -324,6 +324,7 @@ CMakeFiles/FinalProject.dir/src/main.cpp.o: \ /usr/share/emscripten/cache/sysroot/include/c++/v1/streambuf \ /usr/share/emscripten/cache/sysroot/include/c++/v1/__bsd_locale_fallbacks.h \ /usr/share/emscripten/cache/sysroot/include/c++/v1/sstream \ + /home/brett/Documents/Brock/CS\ 3P98/Final\ Project/include/render/ui/text.h \ /home/brett/Documents/Brock/CS\ 3P98/Final\ Project/include/shaders/chunk.frag \ /home/brett/Documents/Brock/CS\ 3P98/Final\ Project/include/shaders/chunk.vert \ /home/brett/Documents/Brock/CS\ 3P98/Final\ Project/include/render/camera.h \ diff --git a/cmake-build-emrelease/CMakeFiles/FinalProject.dir/src/render/gl.cpp.o b/cmake-build-emrelease/CMakeFiles/FinalProject.dir/src/render/gl.cpp.o index 6429499..f5fea79 100644 Binary files a/cmake-build-emrelease/CMakeFiles/FinalProject.dir/src/render/gl.cpp.o and b/cmake-build-emrelease/CMakeFiles/FinalProject.dir/src/render/gl.cpp.o differ diff --git a/cmake-build-emrelease/CMakeFiles/FinalProject.dir/src/render/window.cpp.o b/cmake-build-emrelease/CMakeFiles/FinalProject.dir/src/render/window.cpp.o index 6de2ba0..8176c7b 100644 Binary files a/cmake-build-emrelease/CMakeFiles/FinalProject.dir/src/render/window.cpp.o and b/cmake-build-emrelease/CMakeFiles/FinalProject.dir/src/render/window.cpp.o differ diff --git a/cmake-build-emrelease/CMakeFiles/Makefile2 b/cmake-build-emrelease/CMakeFiles/Makefile2 index b1cac14..6abd19e 100644 --- a/cmake-build-emrelease/CMakeFiles/Makefile2 +++ b/cmake-build-emrelease/CMakeFiles/Makefile2 @@ -116,8 +116,8 @@ libraries/freetype-2.13.0/clean: libraries/freetype-2.13.0/CMakeFiles/freetype.d # Target rules for target CMakeFiles/FinalProject.dir # All Build rule for target. -CMakeFiles/FinalProject.dir/all: libraries/freetype-2.13.0/CMakeFiles/freetype.dir/all CMakeFiles/FinalProject.dir/all: libraries/BLT/CMakeFiles/BLT.dir/all +CMakeFiles/FinalProject.dir/all: libraries/freetype-2.13.0/CMakeFiles/freetype.dir/all $(MAKE) $(MAKESILENT) -f CMakeFiles/FinalProject.dir/build.make CMakeFiles/FinalProject.dir/depend $(MAKE) $(MAKESILENT) -f CMakeFiles/FinalProject.dir/build.make CMakeFiles/FinalProject.dir/build @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir="/home/brett/Documents/Brock/CS 3P98/Final Project/cmake-build-emrelease/CMakeFiles" --progress-num=10,11,12,13,14,15,16,17,18 "Built target FinalProject" diff --git a/cmake-build-emrelease/libraries/BLT/CMakeFiles/BLT.dir/src/blt/profiling/profiler.cpp.o b/cmake-build-emrelease/libraries/BLT/CMakeFiles/BLT.dir/src/blt/profiling/profiler.cpp.o index 8f2a2da..4745c20 100644 Binary files a/cmake-build-emrelease/libraries/BLT/CMakeFiles/BLT.dir/src/blt/profiling/profiler.cpp.o and b/cmake-build-emrelease/libraries/BLT/CMakeFiles/BLT.dir/src/blt/profiling/profiler.cpp.o differ diff --git a/cmake-build-emrelease/libraries/BLT/libBLT.a b/cmake-build-emrelease/libraries/BLT/libBLT.a index dc75ffd..3c4c227 100644 Binary files a/cmake-build-emrelease/libraries/BLT/libBLT.a and b/cmake-build-emrelease/libraries/BLT/libBLT.a differ diff --git a/cmake-build-release/build.ninja b/cmake-build-release/build.ninja index f1460e0..712d524 100644 --- a/cmake-build-release/build.ninja +++ b/cmake-build-release/build.ninja @@ -70,6 +70,13 @@ build CMakeFiles/FinalProject.dir/src/render/gl.cpp.o: CXX_COMPILER__FinalProjec OBJECT_DIR = CMakeFiles/FinalProject.dir OBJECT_FILE_DIR = CMakeFiles/FinalProject.dir/src/render +build CMakeFiles/FinalProject.dir/src/render/ui/debug.cpp.o: CXX_COMPILER__FinalProject_Release /home/brett/Documents/Brock/CS$ 3P98/Final$ Project/src/render/ui/debug.cpp || cmake_object_order_depends_target_FinalProject + DEP_FILE = CMakeFiles/FinalProject.dir/src/render/ui/debug.cpp.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 3P98/Final Project/include" -I"/home/brett/Documents/Brock/CS 3P98/Final Project/libraries/BLT/include" -I"/home/brett/Documents/Brock/CS 3P98/Final Project/cmake-build-release/libraries/BLT/config" -I"/home/brett/Documents/Brock/CS 3P98/Final Project/cmake-build-release/libraries/freetype-2.13.0/include" -I"/home/brett/Documents/Brock/CS 3P98/Final Project/libraries/freetype-2.13.0/include" -I"/home/brett/Documents/Brock/CS 3P98/Final Project/libraries/glfw-3.3.8/include" + OBJECT_DIR = CMakeFiles/FinalProject.dir + OBJECT_FILE_DIR = CMakeFiles/FinalProject.dir/src/render/ui + build CMakeFiles/FinalProject.dir/src/render/ui/text.cpp.o: CXX_COMPILER__FinalProject_Release /home/brett/Documents/Brock/CS$ 3P98/Final$ Project/src/render/ui/text.cpp || cmake_object_order_depends_target_FinalProject DEP_FILE = CMakeFiles/FinalProject.dir/src/render/ui/text.cpp.o.d FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -std=gnu++17 @@ -113,7 +120,7 @@ build CMakeFiles/FinalProject.dir/src/world/registry.cpp.o: CXX_COMPILER__FinalP ############################################# # Link the executable FinalProject -build FinalProject: CXX_EXECUTABLE_LINKER__FinalProject_Release CMakeFiles/FinalProject.dir/src/main.cpp.o CMakeFiles/FinalProject.dir/src/render/camera.cpp.o CMakeFiles/FinalProject.dir/src/render/gl.cpp.o CMakeFiles/FinalProject.dir/src/render/ui/text.cpp.o CMakeFiles/FinalProject.dir/src/render/window.cpp.o CMakeFiles/FinalProject.dir/src/world/chunk/storage.cpp.o CMakeFiles/FinalProject.dir/src/world/chunk/world.cpp.o CMakeFiles/FinalProject.dir/src/world/registry.cpp.o | libraries/BLT/libBLT.a libraries/freetype-2.13.0/libfreetype.a libraries/glfw-3.3.8/src/libglfw3.a /usr/lib/x86_64-linux-gnu/libz.so /usr/lib/x86_64-linux-gnu/libz.so /usr/lib/x86_64-linux-gnu/libpng.so /usr/lib/x86_64-linux-gnu/libz.so /usr/lib/x86_64-linux-gnu/libpng.so /usr/lib/x86_64-linux-gnu/libharfbuzz.so /usr/lib/x86_64-linux-gnu/libbrotlidec.so /usr/lib/x86_64-linux-gnu/librt.a /usr/lib/x86_64-linux-gnu/libm.so /usr/lib/x86_64-linux-gnu/libX11.so || libraries/BLT/libBLT.a libraries/freetype-2.13.0/libfreetype.a libraries/glfw-3.3.8/src/libglfw3.a +build FinalProject: CXX_EXECUTABLE_LINKER__FinalProject_Release CMakeFiles/FinalProject.dir/src/main.cpp.o CMakeFiles/FinalProject.dir/src/render/camera.cpp.o CMakeFiles/FinalProject.dir/src/render/gl.cpp.o CMakeFiles/FinalProject.dir/src/render/ui/debug.cpp.o CMakeFiles/FinalProject.dir/src/render/ui/text.cpp.o CMakeFiles/FinalProject.dir/src/render/window.cpp.o CMakeFiles/FinalProject.dir/src/world/chunk/storage.cpp.o CMakeFiles/FinalProject.dir/src/world/chunk/world.cpp.o CMakeFiles/FinalProject.dir/src/world/registry.cpp.o | libraries/BLT/libBLT.a libraries/freetype-2.13.0/libfreetype.a libraries/glfw-3.3.8/src/libglfw3.a /usr/lib/x86_64-linux-gnu/libz.so /usr/lib/x86_64-linux-gnu/libz.so /usr/lib/x86_64-linux-gnu/libpng.so /usr/lib/x86_64-linux-gnu/libz.so /usr/lib/x86_64-linux-gnu/libpng.so /usr/lib/x86_64-linux-gnu/libharfbuzz.so /usr/lib/x86_64-linux-gnu/libbrotlidec.so /usr/lib/x86_64-linux-gnu/librt.a /usr/lib/x86_64-linux-gnu/libm.so /usr/lib/x86_64-linux-gnu/libX11.so || libraries/BLT/libBLT.a libraries/freetype-2.13.0/libfreetype.a libraries/glfw-3.3.8/src/libglfw3.a FLAGS = -O3 -DNDEBUG LINK_FLAGS = -rdynamic LINK_LIBRARIES = libraries/BLT/libBLT.a libraries/freetype-2.13.0/libfreetype.a libraries/glfw-3.3.8/src/libglfw3.a /usr/lib/x86_64-linux-gnu/libz.so -lz -lpng -lz -lpng -lharfbuzz -lbrotlidec -Wl,-Bstatic -lrt -Wl,-Bdynamic -lm -ldl -lX11 diff --git a/cmake-build-relwithdebinfo/.ninja_deps b/cmake-build-relwithdebinfo/.ninja_deps index 4ae6ebe..ee60633 100644 Binary files a/cmake-build-relwithdebinfo/.ninja_deps and b/cmake-build-relwithdebinfo/.ninja_deps differ diff --git a/cmake-build-relwithdebinfo/.ninja_log b/cmake-build-relwithdebinfo/.ninja_log index d3ef01d..692fc91 100644 --- a/cmake-build-relwithdebinfo/.ninja_log +++ b/cmake-build-relwithdebinfo/.ninja_log @@ -4,15 +4,15 @@ 1834 1911 1676433233204236237 libraries/freetype-2.13.0/CMakeFiles/freetype.dir/builds/unix/ftsystem.c.o 827aa9e59ce2e7a7 2 359 1676433231652193119 CMakeFiles/FinalProject.dir/src/world/registry.cpp.o d042df377c55f1ff 1492 1561 1676433232856226570 libraries/freetype-2.13.0/CMakeFiles/freetype.dir/src/svg/svg.c.o dc9fa4644e4bfeff -2 989 1676433540724753637 CMakeFiles/FinalProject.dir/src/world/chunk/world.cpp.o 7a550f9a4e0bfc9c +43 1314 1676471929044065252 CMakeFiles/FinalProject.dir/src/world/chunk/world.cpp.o 7a550f9a4e0bfc9c 415 481 1676433231772196453 libraries/freetype-2.13.0/CMakeFiles/freetype.dir/src/base/ftsynth.c.o c94e1df207dca05f 1 268 1675879686057895775 libraries/glfw-3.3.8/src/CMakeFiles/glfw.dir/monitor.c.o 3306a3caed247cee -2 617 1676232113376748890 libraries/BLT/CMakeFiles/BLT.dir/src/blt/std/system.cpp.o 9999b1f01228dc1e +43 863 1676471928592052838 libraries/BLT/CMakeFiles/BLT.dir/src/blt/std/system.cpp.o 9999b1f01228dc1e 284 371 1676433231664193453 libraries/freetype-2.13.0/CMakeFiles/freetype.dir/src/base/ftinit.c.o c79de44174f27a42 146 200 1676433231492188675 libraries/freetype-2.13.0/CMakeFiles/freetype.dir/src/base/ftfstype.c.o c1571efbcaa8f933 -2 2058 1676432317102307132 libraries/BLT/CMakeFiles/BLT.dir/src/blt/profiling/profiler.cpp.o 3879c77c4691aa0a +3 2002 1676473110932638542 libraries/BLT/CMakeFiles/BLT.dir/src/blt/profiling/profiler.cpp.o 3879c77c4691aa0a 3 90 1676433231384185673 libraries/freetype-2.13.0/CMakeFiles/freetype.dir/src/base/ftbdf.c.o d55aaa7d5cd3d5c -2 1069 1676433232360212789 CMakeFiles/FinalProject.dir/src/render/window.cpp.o d3ff816bc92bb4a6 +2 714 1676473109648603093 CMakeFiles/FinalProject.dir/src/render/window.cpp.o d3ff816bc92bb4a6 1713 2505 1676433233796252686 libraries/freetype-2.13.0/CMakeFiles/freetype.dir/src/type1/type1.c.o e9ac3fb73828fd6d 1 184 1675879685973893394 libraries/glfw-3.3.8/src/CMakeFiles/glfw.dir/vulkan.c.o 726a0ce9066c22d2 200 408 1676433231700194452 libraries/freetype-2.13.0/CMakeFiles/freetype.dir/src/base/ftglyph.c.o 287c587d2b62e728 @@ -27,8 +27,8 @@ 2 2203 1676433233496244349 libraries/freetype-2.13.0/CMakeFiles/freetype.dir/src/base/ftbase.c.o 4be5f2832180d492 1254 1793 1676433233084232903 libraries/freetype-2.13.0/CMakeFiles/freetype.dir/src/raster/raster.c.o f81177488ebd3ad 1 213 1675879686001894187 libraries/glfw-3.3.8/src/CMakeFiles/glfw.dir/init.c.o 7363bcb2dba2054a -2058 2137 1676432317174309089 libraries/BLT/libBLT.a 163b10f2e7f6635 -989 1079 1676433540812756066 FinalProject be31c396fadad6c6 +2002 2085 1676473111008640638 libraries/BLT/libBLT.a 163b10f2e7f6635 +656 779 1676473248976449540 FinalProject 279a08a1cf71c6a8 408 468 1676433231760196120 libraries/freetype-2.13.0/CMakeFiles/freetype.dir/src/base/ftpfr.c.o 565b64bbd1fc7af5 518 559 1676433231852198676 libraries/freetype-2.13.0/CMakeFiles/freetype.dir/src/bzip2/ftbzip2.c.o 7d125f3d19646cd0 240 342 1675879686133897930 libraries/glfw-3.3.8/src/CMakeFiles/glfw.dir/posix_thread.c.o ed8a69d447bea26a @@ -37,16 +37,16 @@ 1182 2070 1676433233364240685 libraries/freetype-2.13.0/CMakeFiles/freetype.dir/src/pshinter/pshinter.c.o d1c695600d3a7dfd 185 272 1675879686061895889 libraries/glfw-3.3.8/src/CMakeFiles/glfw.dir/xkb_unicode.c.o b26e96d6509cc15d 1009 1182 1676433232476216011 libraries/freetype-2.13.0/CMakeFiles/freetype.dir/src/lzw/ftlzw.c.o d04e126e5d735f8b -1 1024 1676433232316211567 CMakeFiles/FinalProject.dir/src/render/camera.cpp.o 5776e342ea508518 +2 591 1676472003274104855 CMakeFiles/FinalProject.dir/src/render/camera.cpp.o 5776e342ea508518 3 816 1675879686605911309 libraries/glfw-3.3.8/src/CMakeFiles/glfw.dir/x11_window.c.o 3c77d54154e66152 2 1148 1676094325714020716 libraries/BLT/CMakeFiles/BLT.dir/src/blt/std/loader.cpp.o dba8b361d1594e59 1150 2917 1676433234208264129 libraries/freetype-2.13.0/CMakeFiles/freetype.dir/src/psaux/psaux.c.o 2a71d88eed8a5228 816 896 1675879686681913464 libraries/glfw-3.3.8/src/libglfw3.a 4545fd6d0d1d5667 223 284 1676433231576191007 libraries/freetype-2.13.0/CMakeFiles/freetype.dir/src/base/ftgxval.c.o d760f2ca9797735d -1 1254 1676433232544217904 CMakeFiles/FinalProject.dir/src/main.cpp.o 1ae001c7e5feebcb +2 870 1676473109804607402 CMakeFiles/FinalProject.dir/src/main.cpp.o 1ae001c7e5feebcb 1 489 1675879686277902012 libraries/glfw-3.3.8/src/CMakeFiles/glfw.dir/input.c.o b9b0555d1bde647a 490 862 1675879686649912557 libraries/BLT/CMakeFiles/BLT.dir/src/blt/nbt/nbt_block.cpp.o 2100792179af25a6 -3840 3940 1676433235220292244 libraries/freetype-2.13.0/libfreetype.a f550ecbb3936aaae +43 530 1676471928244043279 libraries/freetype-2.13.0/libfreetype.a f550ecbb3936aaae 153 223 1676433231516189341 libraries/freetype-2.13.0/CMakeFiles/freetype.dir/src/base/ftgasp.c.o 6eb2c5578119b9c8 1 240 1675879686029894982 libraries/glfw-3.3.8/src/CMakeFiles/glfw.dir/context.c.o 66a0481f161ec0b0 1382 3837 1676433235128289688 libraries/freetype-2.13.0/CMakeFiles/freetype.dir/src/sfnt/sfnt.c.o f8f71756e461ba89 @@ -60,7 +60,7 @@ 831 1286 1676433232580218901 libraries/freetype-2.13.0/CMakeFiles/freetype.dir/src/cid/type1cid.c.o 23bf561e9b90dd0 1286 2036 1676433233328239682 libraries/freetype-2.13.0/CMakeFiles/freetype.dir/src/sdf/sdf.c.o 807c8e056b31c5d0 299 456 1676433231748195786 libraries/freetype-2.13.0/CMakeFiles/freetype.dir/src/base/ftmm.c.o 7b1dd129e6fb4981 -2 831 1676433232120206122 CMakeFiles/FinalProject.dir/src/world/chunk/storage.cpp.o aba7285d6d94217e +43 1040 1676471928768057669 CMakeFiles/FinalProject.dir/src/world/chunk/storage.cpp.o aba7285d6d94217e 299 466 1675879686253901332 libraries/glfw-3.3.8/src/CMakeFiles/glfw.dir/osmesa_context.c.o a913dd02c9ac6f97 2 609 1676232422337127593 CMakeFiles/FinalProject.dir/src/world/chunk/chunk.cpp.o 901d26561b8e342a 468 518 1676433231812197567 libraries/freetype-2.13.0/CMakeFiles/freetype.dir/src/base/ftwinfnt.c.o 9fabacfc2ff8811a @@ -68,8 +68,9 @@ 1249 1492 1676433232784224571 libraries/freetype-2.13.0/CMakeFiles/freetype.dir/src/psnames/psnames.c.o 9d8ecfaa201fc592 2 409 1676094324978000454 libraries/BLT/CMakeFiles/BLT.dir/src/blt/std/filesystem.cpp.o 49e1226ae352c85c 359 407 1676433231700194452 libraries/freetype-2.13.0/CMakeFiles/freetype.dir/src/base/ftotval.c.o 1775fdea3e52c802 -1 1835 1676433233124234017 CMakeFiles/FinalProject.dir/src/render/gl.cpp.o 2660a3bd1778e5e3 +43 1542 1676471929272071515 CMakeFiles/FinalProject.dir/src/render/gl.cpp.o 2660a3bd1778e5e3 1793 1990 1676433233284238460 libraries/freetype-2.13.0/CMakeFiles/freetype.dir/src/winfonts/winfnt.c.o e43948e4a6dbf2e9 +2 656 1676473248856446226 CMakeFiles/FinalProject.dir/src/render/ui/text.cpp.o 4bc61f357ca60822 408 882 1676433232176207678 libraries/freetype-2.13.0/CMakeFiles/freetype.dir/src/base/ftstroke.c.o d23f15afb5e42f5b 3 146 1676433231440187230 libraries/freetype-2.13.0/CMakeFiles/freetype.dir/src/base/ftbbox.c.o 33ee4db3f35b92d3 2 1986 1676433233276238237 libraries/freetype-2.13.0/CMakeFiles/freetype.dir/src/autofit/autofit.c.o be86846738c7b3be @@ -77,3 +78,25 @@ 524 1150 1676433232440215012 libraries/freetype-2.13.0/CMakeFiles/freetype.dir/src/cache/ftcache.c.o 6a50d2c3764a714 559 1833 1676433233124234017 libraries/freetype-2.13.0/CMakeFiles/freetype.dir/src/cff/cff.c.o 47495ad83245b5e7 311 524 1675879686313903031 libraries/glfw-3.3.8/src/CMakeFiles/glfw.dir/linux_joystick.c.o 3df40cb71360060f +3 528 1676524281243560604 CMakeFiles/FinalProject.dir/src/render/ui/debug.cpp.o 67c82fe66fca827 +4 550 1676524281267561272 libraries/BLT/CMakeFiles/BLT.dir/src/blt/std/system.cpp.o 9999b1f01228dc1e +550 665 1676524281363563949 libraries/BLT/libBLT.a 163b10f2e7f6635 +4 812 1676524281527568519 CMakeFiles/FinalProject.dir/src/world/chunk/storage.cpp.o aba7285d6d94217e +3 940 1676524281655572087 CMakeFiles/FinalProject.dir/src/render/camera.cpp.o 5776e342ea508518 +3 1014 1676524281727574095 CMakeFiles/FinalProject.dir/src/render/window.cpp.o d3ff816bc92bb4a6 +2 1162 1676524281875578220 CMakeFiles/FinalProject.dir/src/main.cpp.o 1ae001c7e5feebcb +4 1312 1676524282027582456 CMakeFiles/FinalProject.dir/src/world/chunk/world.cpp.o 7a550f9a4e0bfc9c +3 1473 1676524282187586917 CMakeFiles/FinalProject.dir/src/render/ui/text.cpp.o 4bc61f357ca60822 +3 1518 1676524282231588143 CMakeFiles/FinalProject.dir/src/render/gl.cpp.o 2660a3bd1778e5e3 +1518 1712 1676524282423593494 FinalProject 1a926718972bddbe +2 374 1676524424431551785 CMakeFiles/FinalProject.dir/src/render/ui/debug.cpp.o 67c82fe66fca827 +3 594 1676524424651557917 libraries/BLT/CMakeFiles/BLT.dir/src/blt/std/system.cpp.o 9999b1f01228dc1e +3 613 1676524424671558477 CMakeFiles/FinalProject.dir/src/world/chunk/storage.cpp.o aba7285d6d94217e +594 658 1676524424711559591 libraries/BLT/libBLT.a 163b10f2e7f6635 +2 785 1676524424839563159 CMakeFiles/FinalProject.dir/src/render/window.cpp.o d3ff816bc92bb4a6 +2 840 1676524424895564721 CMakeFiles/FinalProject.dir/src/render/camera.cpp.o 5776e342ea508518 +2 976 1676524425031568511 CMakeFiles/FinalProject.dir/src/main.cpp.o 1ae001c7e5feebcb +3 1107 1676524425163572190 CMakeFiles/FinalProject.dir/src/world/chunk/world.cpp.o 7a550f9a4e0bfc9c +2 1352 1676524425407578992 CMakeFiles/FinalProject.dir/src/render/ui/text.cpp.o 4bc61f357ca60822 +2 1482 1676524425539582673 CMakeFiles/FinalProject.dir/src/render/gl.cpp.o 2660a3bd1778e5e3 +1482 1608 1676524425663586129 FinalProject 1a926718972bddbe diff --git a/cmake-build-relwithdebinfo/CMakeFiles/FinalProject.dir/src/main.cpp.o b/cmake-build-relwithdebinfo/CMakeFiles/FinalProject.dir/src/main.cpp.o index ae49be7..4ba4fed 100644 Binary files a/cmake-build-relwithdebinfo/CMakeFiles/FinalProject.dir/src/main.cpp.o and b/cmake-build-relwithdebinfo/CMakeFiles/FinalProject.dir/src/main.cpp.o differ diff --git a/cmake-build-relwithdebinfo/CMakeFiles/FinalProject.dir/src/render/gl.cpp.o b/cmake-build-relwithdebinfo/CMakeFiles/FinalProject.dir/src/render/gl.cpp.o index bb952fb..e5f77c9 100644 Binary files a/cmake-build-relwithdebinfo/CMakeFiles/FinalProject.dir/src/render/gl.cpp.o and b/cmake-build-relwithdebinfo/CMakeFiles/FinalProject.dir/src/render/gl.cpp.o differ diff --git a/cmake-build-relwithdebinfo/CMakeFiles/FinalProject.dir/src/render/window.cpp.o b/cmake-build-relwithdebinfo/CMakeFiles/FinalProject.dir/src/render/window.cpp.o index cfeb4b4..64f790f 100644 Binary files a/cmake-build-relwithdebinfo/CMakeFiles/FinalProject.dir/src/render/window.cpp.o and b/cmake-build-relwithdebinfo/CMakeFiles/FinalProject.dir/src/render/window.cpp.o differ diff --git a/cmake-build-relwithdebinfo/FinalProject b/cmake-build-relwithdebinfo/FinalProject index 2b0d836..11feb3a 100755 Binary files a/cmake-build-relwithdebinfo/FinalProject and b/cmake-build-relwithdebinfo/FinalProject differ diff --git a/cmake-build-relwithdebinfo/Testing/Temporary/LastTest.log b/cmake-build-relwithdebinfo/Testing/Temporary/LastTest.log index 3d0c6a7..2e51804 100644 --- a/cmake-build-relwithdebinfo/Testing/Temporary/LastTest.log +++ b/cmake-build-relwithdebinfo/Testing/Temporary/LastTest.log @@ -1,3 +1,3 @@ -Start testing: Feb 14 23:59 EST +Start testing: Feb 16 00:13 EST ---------------------------------------------------------- -End testing: Feb 14 23:59 EST +End testing: Feb 16 00:13 EST diff --git a/cmake-build-relwithdebinfo/build.ninja b/cmake-build-relwithdebinfo/build.ninja index 8083d8b..76c4217 100644 --- a/cmake-build-relwithdebinfo/build.ninja +++ b/cmake-build-relwithdebinfo/build.ninja @@ -70,6 +70,13 @@ build CMakeFiles/FinalProject.dir/src/render/gl.cpp.o: CXX_COMPILER__FinalProjec OBJECT_DIR = CMakeFiles/FinalProject.dir OBJECT_FILE_DIR = CMakeFiles/FinalProject.dir/src/render +build CMakeFiles/FinalProject.dir/src/render/ui/debug.cpp.o: CXX_COMPILER__FinalProject_RelWithDebInfo /home/brett/Documents/Brock/CS$ 3P98/Final$ Project/src/render/ui/debug.cpp || cmake_object_order_depends_target_FinalProject + DEP_FILE = CMakeFiles/FinalProject.dir/src/render/ui/debug.cpp.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 3P98/Final Project/include" -I"/home/brett/Documents/Brock/CS 3P98/Final Project/libraries/BLT/include" -I"/home/brett/Documents/Brock/CS 3P98/Final Project/cmake-build-relwithdebinfo/libraries/BLT/config" -I"/home/brett/Documents/Brock/CS 3P98/Final Project/cmake-build-relwithdebinfo/libraries/freetype-2.13.0/include" -I"/home/brett/Documents/Brock/CS 3P98/Final Project/libraries/freetype-2.13.0/include" -I"/home/brett/Documents/Brock/CS 3P98/Final Project/libraries/glfw-3.3.8/include" + OBJECT_DIR = CMakeFiles/FinalProject.dir + OBJECT_FILE_DIR = CMakeFiles/FinalProject.dir/src/render/ui + build CMakeFiles/FinalProject.dir/src/render/ui/text.cpp.o: CXX_COMPILER__FinalProject_RelWithDebInfo /home/brett/Documents/Brock/CS$ 3P98/Final$ Project/src/render/ui/text.cpp || cmake_object_order_depends_target_FinalProject DEP_FILE = CMakeFiles/FinalProject.dir/src/render/ui/text.cpp.o.d FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -std=gnu++17 @@ -113,7 +120,7 @@ build CMakeFiles/FinalProject.dir/src/world/registry.cpp.o: CXX_COMPILER__FinalP ############################################# # Link the executable FinalProject -build FinalProject: CXX_EXECUTABLE_LINKER__FinalProject_RelWithDebInfo CMakeFiles/FinalProject.dir/src/main.cpp.o CMakeFiles/FinalProject.dir/src/render/camera.cpp.o CMakeFiles/FinalProject.dir/src/render/gl.cpp.o CMakeFiles/FinalProject.dir/src/render/ui/text.cpp.o CMakeFiles/FinalProject.dir/src/render/window.cpp.o CMakeFiles/FinalProject.dir/src/world/chunk/storage.cpp.o CMakeFiles/FinalProject.dir/src/world/chunk/world.cpp.o CMakeFiles/FinalProject.dir/src/world/registry.cpp.o | libraries/BLT/libBLT.a libraries/freetype-2.13.0/libfreetype.a libraries/glfw-3.3.8/src/libglfw3.a /usr/lib/x86_64-linux-gnu/libz.so /usr/lib/x86_64-linux-gnu/libz.so /usr/lib/x86_64-linux-gnu/libpng.so /usr/lib/x86_64-linux-gnu/libz.so /usr/lib/x86_64-linux-gnu/libpng.so /usr/lib/x86_64-linux-gnu/libharfbuzz.so /usr/lib/x86_64-linux-gnu/libbrotlidec.so /usr/lib/x86_64-linux-gnu/librt.a /usr/lib/x86_64-linux-gnu/libm.so /usr/lib/x86_64-linux-gnu/libX11.so || libraries/BLT/libBLT.a libraries/freetype-2.13.0/libfreetype.a libraries/glfw-3.3.8/src/libglfw3.a +build FinalProject: CXX_EXECUTABLE_LINKER__FinalProject_RelWithDebInfo CMakeFiles/FinalProject.dir/src/main.cpp.o CMakeFiles/FinalProject.dir/src/render/camera.cpp.o CMakeFiles/FinalProject.dir/src/render/gl.cpp.o CMakeFiles/FinalProject.dir/src/render/ui/debug.cpp.o CMakeFiles/FinalProject.dir/src/render/ui/text.cpp.o CMakeFiles/FinalProject.dir/src/render/window.cpp.o CMakeFiles/FinalProject.dir/src/world/chunk/storage.cpp.o CMakeFiles/FinalProject.dir/src/world/chunk/world.cpp.o CMakeFiles/FinalProject.dir/src/world/registry.cpp.o | libraries/BLT/libBLT.a libraries/freetype-2.13.0/libfreetype.a libraries/glfw-3.3.8/src/libglfw3.a /usr/lib/x86_64-linux-gnu/libz.so /usr/lib/x86_64-linux-gnu/libz.so /usr/lib/x86_64-linux-gnu/libpng.so /usr/lib/x86_64-linux-gnu/libz.so /usr/lib/x86_64-linux-gnu/libpng.so /usr/lib/x86_64-linux-gnu/libharfbuzz.so /usr/lib/x86_64-linux-gnu/libbrotlidec.so /usr/lib/x86_64-linux-gnu/librt.a /usr/lib/x86_64-linux-gnu/libm.so /usr/lib/x86_64-linux-gnu/libX11.so || libraries/BLT/libBLT.a libraries/freetype-2.13.0/libfreetype.a libraries/glfw-3.3.8/src/libglfw3.a FLAGS = -O2 -g -DNDEBUG LINK_FLAGS = -rdynamic LINK_LIBRARIES = libraries/BLT/libBLT.a libraries/freetype-2.13.0/libfreetype.a libraries/glfw-3.3.8/src/libglfw3.a /usr/lib/x86_64-linux-gnu/libz.so -lz -lpng -lz -lpng -lharfbuzz -lbrotlidec -Wl,-Bstatic -lrt -Wl,-Bdynamic -lm -ldl -lX11 diff --git a/cmake-build-relwithdebinfo/libraries/BLT/CMakeFiles/BLT.dir/src/blt/profiling/profiler.cpp.o b/cmake-build-relwithdebinfo/libraries/BLT/CMakeFiles/BLT.dir/src/blt/profiling/profiler.cpp.o index 7a3d049..e3a5579 100644 Binary files a/cmake-build-relwithdebinfo/libraries/BLT/CMakeFiles/BLT.dir/src/blt/profiling/profiler.cpp.o and b/cmake-build-relwithdebinfo/libraries/BLT/CMakeFiles/BLT.dir/src/blt/profiling/profiler.cpp.o differ diff --git a/cmake-build-relwithdebinfo/libraries/BLT/CMakeFiles/BLT.dir/src/blt/std/system.cpp.o b/cmake-build-relwithdebinfo/libraries/BLT/CMakeFiles/BLT.dir/src/blt/std/system.cpp.o index cf0311e..04e6d12 100644 Binary files a/cmake-build-relwithdebinfo/libraries/BLT/CMakeFiles/BLT.dir/src/blt/std/system.cpp.o and b/cmake-build-relwithdebinfo/libraries/BLT/CMakeFiles/BLT.dir/src/blt/std/system.cpp.o differ diff --git a/cmake-build-relwithdebinfo/libraries/BLT/libBLT.a b/cmake-build-relwithdebinfo/libraries/BLT/libBLT.a index 6472991..f885185 100644 Binary files a/cmake-build-relwithdebinfo/libraries/BLT/libBLT.a and b/cmake-build-relwithdebinfo/libraries/BLT/libBLT.a differ diff --git a/include/render/ui/debug.h b/include/render/ui/debug.h new file mode 100644 index 0000000..2cd8ef3 --- /dev/null +++ b/include/render/ui/debug.h @@ -0,0 +1,17 @@ +/* + * Created by Brett on 15/02/23. + * Licensed under GNU General Public License V3.0 + * See LICENSE file for license detail + */ + +#ifndef FINALPROJECT_DEBUG_H +#define FINALPROJECT_DEBUG_H + +namespace fp::debug { + void enable(); + void disable(); + void toggle(); + void render(); +} + +#endif //FINALPROJECT_DEBUG_H diff --git a/include/render/ui/text.h b/include/render/ui/text.h index df309d6..7fa3859 100644 --- a/include/render/ui/text.h +++ b/include/render/ui/text.h @@ -7,20 +7,37 @@ #ifndef FINALPROJECT_TEXT_H #define FINALPROJECT_TEXT_H +#include +#include + namespace fp::text { - struct int_vec2 { - int x, y; + + struct text_size { + int w,h; }; - // https://freetype.org/freetype2/docs/glyphs/glyph-metrics-3.svg - struct gl_character { - unsigned int textureID; // OpenGL texture ID that holds the character - int_vec2 size; // size of the character glyph - int_vec2 bearing; // offset to the top left of the glyph from the current cursor pos - unsigned int advance; // distance to the next glyph + enum font_size { + FONT_11 = 11, + FONT_12 = 12, + FONT_14 = 14, + FONT_18 = 18, + FONT_22 = 22, + FONT_36 = 36, + FONT_48 = 48, + FONT_72 = 72 }; void init(); + + void render(); + + void drawText( + const std::string& text, float x, float y, font_size size, const blt::vec4& color = {1.0, 1.0, 1.0, 1.0}, + const blt::vec4& backgroundColor = {0.0, 0.0, 0.0, 0.0}, float scale = 1 + ); + + text_size getTextSize(const std::string& text, font_size size, float scale = 1.0); + void destroy(); } diff --git a/include/shaders/text.frag b/include/shaders/text.frag index 147e5dc..e6bca14 100644 --- a/include/shaders/text.frag +++ b/include/shaders/text.frag @@ -9,10 +9,12 @@ in vec2 texture_coords; out vec4 FragColor; uniform sampler2D character; -uniform vec3 text_color; +uniform vec4 text_color; +uniform vec4 background_color; void main() { - FragColor = vec4(text_color, 1.0f) * vec4(1.0, 1.0, 1.0, texture(text, TexCoords).r); + FragColor = text_color * vec4(1.0, 1.0, 1.0, texture(character, texture_coords).r); + //FragColor = vec4(0.0, 1.0, 0.0, 1.0) * vec4(1.0, 1.0, 1.0, texture(character, texture_coords).r); } ")"; diff --git a/include/shaders/text.vert b/include/shaders/text.vert index c3989c9..f2e721f 100644 --- a/include/shaders/text.vert +++ b/include/shaders/text.vert @@ -8,6 +8,8 @@ layout (location = 0) in vec4 vertex; out vec2 texture_coords; +uniform mat4 translation; + layout (std140) uniform StandardMatrices { mat4 projection; @@ -19,8 +21,8 @@ layout (std140) uniform StandardMatrices }; void main() { - gl_Position = orthographic * vec4(vertex.xy, 0.0, 1.0); - texture_coords = vertex.wz; + gl_Position = orthographic * translation * vec4(vertex.xy, 0.0, 1.0); + texture_coords = vertex.zw; } ")"; diff --git a/libraries/BLT b/libraries/BLT index 596c75d..c1f3f7f 160000 --- a/libraries/BLT +++ b/libraries/BLT @@ -1 +1 @@ -Subproject commit 596c75dc6fd134e136fcef48f4b800f1c80ad7e4 +Subproject commit c1f3f7f2b8f9252b4d6c2dc9c94300c86f591510 diff --git a/src/main.cpp b/src/main.cpp index b0614f6..88f396a 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -2,6 +2,8 @@ #include #include #include +#include +#include #include #include @@ -27,6 +29,8 @@ void loop(){ world->render(*chunk_shader); fp::camera::update(); + fp::debug::render(); + fp::text::render(); fp::window::update(); } @@ -41,6 +45,7 @@ int main() { blt::logging::init(logging_properties); fp::window::init(); + fp::text::init(); fp::registry::registerDefaultBlocks(); chunk_shader = new fp::shader(shader_chunk_vert, shader_chunk_frag); @@ -77,6 +82,7 @@ int main() { delete(chunk_shader); delete(world); + fp::text::destroy(); fp::window::close(); return 0; diff --git a/src/render/camera.cpp b/src/render/camera.cpp index d124d8b..4965e0d 100644 --- a/src/render/camera.cpp +++ b/src/render/camera.cpp @@ -7,7 +7,6 @@ #include #include #include -#include #include "util/math.h" blt::vec3 position; diff --git a/src/render/ui/debug.cpp b/src/render/ui/debug.cpp new file mode 100644 index 0000000..bf59156 --- /dev/null +++ b/src/render/ui/debug.cpp @@ -0,0 +1,58 @@ +/* + * Created by Brett on 15/02/23. + * Licensed under GNU General Public License V3.0 + * See LICENSE file for license detail + */ +#include +#include +#include +#include + +namespace fp::debug { + const float spacing = 5; + + bool enabled = false; + + // Yes. I made this only for this. + blt::averagizer_o_matic fps_average{60.0}; + + void drawAndIncrement(const std::string& text, float x, float& pos, text::font_size size = fp::text::FONT_14) { + auto text_size = fp::text::getTextSize(text, size); + fp::text::drawText(text, x, pos, size, {0.0, 0.0, 0.0, 1.0}); + pos += spacing + (float) text_size.h; + } + + void enable() { + enabled = true; + } + + void disable() { + enabled = false; + } + + void toggle() { + enabled = !enabled; + } + + void render() { + if (fp::window::isKeyPressed(GLFW_KEY_F3) && fp::window::keyState()) + toggle(); + if (!enabled) + return; + + float left_y_pos = 10; + float right_y_pos = 10; + + float x_offset = 10; + + drawAndIncrement("Untitled Application", x_offset, left_y_pos, fp::text::FONT_22); + fps_average.insert(1.0 / fp::window::getFrameDelta()); + + std::string fps = "FPS: "; + fps += std::to_string(fps_average.average()); + fps += " ("; + fps += std::to_string((double) fp::window::getFrameDeltaRaw() / 1000000.0); + fps += "ms)"; + drawAndIncrement(fps, x_offset * 2, left_y_pos); + } +} diff --git a/src/render/ui/text.cpp b/src/render/ui/text.cpp index b10a4c2..29e63e1 100644 --- a/src/render/ui/text.cpp +++ b/src/render/ui/text.cpp @@ -5,17 +5,105 @@ */ #include #include +#include #include #include #include FT_FREETYPE_H #include +#include +#include +#include -std::unordered_map character_conversion_map; +struct int_vec2 { + int x, y; +}; + +// https://freetype.org/freetype2/docs/glyphs/glyph-metrics-3.svg +struct gl_character { + unsigned int textureID; // OpenGL texture ID that holds the character + int_vec2 size; // size of the character glyph + int_vec2 bearing; // offset to the top left of the glyph from the current cursor pos + unsigned int advance; // distance to the next glyph +}; + +struct text_render_object { + std::string text; + float x = 0; + float y = 0; + fp::text::font_size size; + blt::vec4 color; + // currently does nothing + blt::vec4 backgroundColor; + // DO NOT USE SCALE UNLESS NECESSARY. Will distort font! + float scale = 0; + + text_render_object() = default; + + text_render_object( + std::string text, float x, float y, fp::text::font_size size, const blt::vec4& color, + const blt::vec4& backgroundColor, float scale = 1.0 + ): + text(std::move(text)), x(x), y(y), color(color), backgroundColor(backgroundColor), scale(scale), size(size) { + } +}; + +std::unordered_map> character_conversion_map; +std::queue text_render_queue; FT_Library ft; FT_Face monospaced_face; +fp::shader* text_shader; +fp::VAO* quad_vao; + +void generateCharacters(fp::text::font_size size) { + + FT_Set_Pixel_Sizes(monospaced_face, 0, size); + + // TODO: merge into a 2d texture array + unsigned int textures[128]; + glGenTextures(128, textures); + + // we only care about ascii characters [0, 128). I won't be rendering with anything other than them. + for (int i = 0; i < 128; i++) { + // tell freetype to render the character to a monochrome texture + FT_Error error; + if ((error = FT_Load_Char(monospaced_face, i, FT_LOAD_RENDER))) { + BLT_WARN("Unable to load character '%c' using the default monospaced font! (Error: %d)", i, error); + glDeleteTextures(1, &textures[i]); + continue; + } + auto glyph = monospaced_face->glyph; + auto bitmap = glyph->bitmap; + + glBindTexture(GL_TEXTURE_2D, textures[i]); + // GL_RED isn't valid for webgl +#ifdef __EMSCRIPTEN__ + constexpr GLint internal_format = GL_R8; +#else + constexpr GLint internal_format = GL_RED; +#endif + // since the rendered texture is monochrome, there is no reason to allocate memory for more than one channel. + glTexImage2D(GL_TEXTURE_2D, 0, internal_format, (int) bitmap.width, (int) bitmap.rows, 0, GL_RED, GL_UNSIGNED_BYTE, bitmap.buffer); + // set standard texture options. GL_CLAMP_TO_BORDER would be preferable but isn't in standard webgl + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); + // linear because we want nice smoothing if our font is resized + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + + character_conversion_map[size].insert( + {(char) i, gl_character{ + textures[i], + {(int) bitmap.width, (int) bitmap.rows}, + {glyph->bitmap_left, glyph->bitmap_top}, + (unsigned int) glyph->advance.x + }} + ); + } +} + void fp::text::init() { if (FT_Init_FreeType(&ft)) { BLT_FATAL("Unable to init freetype library!"); @@ -25,50 +113,128 @@ void fp::text::init() { BLT_ERROR("Unable to load default monospaced (JetBrains Mono) font!"); std::abort(); } - FT_Set_Pixel_Sizes(monospaced_face, 0, 48); // disable alignment restrictions. This might cause issues with WebGL! FIXME: if it does // gl requires an alignment of 4. Since we are going to only use a single character of any width/height the alignment must be changed. glPixelStorei(GL_UNPACK_ALIGNMENT, 1); - // TODO: merge into a 2d texture array - unsigned int textures[128]; - glGenTextures(128, textures); + generateCharacters(FONT_11); + generateCharacters(FONT_12); + generateCharacters(FONT_14); + generateCharacters(FONT_18); + generateCharacters(FONT_22); + generateCharacters(FONT_36); + generateCharacters(FONT_48); + generateCharacters(FONT_72); - // we only care about ascii characters [0, 128). I won't be rendering with anything other than them. - for (int i = 0; i < 128; i++){ - // tell freetype to render the character to a monochrome texture - FT_Error error; - if ((error = FT_Load_Char(monospaced_face, i, FT_LOAD_RENDER))) { - BLT_ERROR("Unable to load character '%c' using the default monospaced font! (Error: %d)", i, error); - glDeleteTextures(1, &textures[i]); - continue; - } - auto glyph = monospaced_face->glyph; - auto bitmap = glyph->bitmap; - - glBindTexture(GL_TEXTURE_2D, textures[i]); - // since the rendered texture is monochrome, there is no reason to allocate memory for more than one channel. - glTexImage2D(GL_TEXTURE_2D, 0, GL_RED, (int)bitmap.width, (int)bitmap.rows, 0, GL_RED, GL_UNSIGNED_BYTE, bitmap.buffer); - // set standard texture options. - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); - // linear because we want nice smoothing on our font - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); - character_conversion_map.insert({i, gl_character{ - textures[i], - {(int)bitmap.width, (int)bitmap.rows}, - {glyph->bitmap_left, glyph->bitmap_top}, - (unsigned int) glyph->advance.x - }}); - } + glPixelStorei(GL_UNPACK_ALIGNMENT, 4); FT_Done_Face(monospaced_face); FT_Done_FreeType(ft); + + // create the GL objects required to render texts + text_shader = new shader(shader_text_vert, shader_text_frag); + quad_vao = new VAO(); + + float vertices[6 * 4] = { + // vertices uvs + // triangle 1 + 1.0, 0, 1.0f, 0.0f, + 0, 0, 0.0f, 0.0f, + 0, 1.0, 0.0f, 1.0f, + // triangle 2 + 1.0, 1.0, 1.0f, 1.0f, + 1.0, 0, 1.0f, 0.0f, + 0, 1.0, 0.0f, 1.0f, + }; + + + quad_vao->bindVBO(new VBO(ARRAY_BUFFER, vertices, sizeof(float) * 6 * 4), 0, 4); } void fp::text::destroy() { for (const auto& c : character_conversion_map) - glDeleteTextures(1, &c.second.textureID); + for (const auto& t : c.second) + glDeleteTextures(1, &t.second.textureID); + delete (text_shader); + delete (quad_vao); +} + +void fp::text::render() { + glEnable(GL_BLEND); + //glDisable(GL_CULL_FACE); + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + + text_shader->use(); + quad_vao->bind(); + glEnableVertexAttribArray(0); + + while (!text_render_queue.empty()) { + const auto& text_object = text_render_queue.front(); + + text_shader->setVec4("text_color", text_object.color); + glActiveTexture(GL_TEXTURE0); + + // will be incremented by advance + float cursor_x = text_object.x; + // we need to offset the y coord freetype / opengl is expecting to draw from the bottom left, but because of how I have the ortho matrix + // the renderer draws from the top left (which I think is a little more intuitive). The easiest way to fix this is the offset. + int max_height = 0; + + // but the offset must be the max height of the characters in the text otherwise the position of smaller chars like 'o' and 'e' will be off + for (const char c : text_object.text) { + const gl_character gl_char = character_conversion_map[text_object.size][c]; + max_height = std::max(gl_char.size.y, max_height); + } + + // TODO: use instancing to reduce number of draw calls (use signed distance fields when you make the switch) + // valve paper on the subject (signed distance fields): + // https://steamcdn-a.akamaihd.net/apps/valve/2007/SIGGRAPH2007_AlphaTestedMagnification.pdf + for (const char c : text_object.text) { + const gl_character gl_char = character_conversion_map[text_object.size][c]; + + blt::mat4x4 translation_matrix{}; + + auto w = (float) gl_char.size.x * text_object.scale; + auto h = (float) gl_char.size.y * text_object.scale; + + // move the glyph based on https://freetype.org/freetype2/docs/glyphs/glyph-metrics-3.svg + auto x = cursor_x + (float) gl_char.bearing.x * text_object.scale; + auto y = (float) max_height + text_object.y + (float) (-gl_char.bearing.y) * text_object.scale; + + translation_matrix.translate(x, y, 0); + translation_matrix.scale(w, h, 0); + + text_shader->setMatrix("translation", translation_matrix); + + glBindTexture(GL_TEXTURE_2D, gl_char.textureID); + glDrawArrays(GL_TRIANGLES, 0, 6); + // advance is loaded in as 1/64th pixels + cursor_x += (float) (gl_char.advance / 64.0) * text_object.scale; + } + + text_render_queue.pop(); + } + + glDisableVertexAttribArray(0); + + glDisable(GL_BLEND); +} + +void fp::text::drawText(const std::string& text, float x, float y, fp::text::font_size size, const blt::vec4& color, const blt::vec4& backgroundColor, float scale) { + text_render_queue.emplace(text, x, y, size, color, backgroundColor, scale); +} + +fp::text::text_size fp::text::getTextSize(const std::string& text, fp::text::font_size size, float scale) { + int w = 0, h = 0; + for (const char& c : text) { + const gl_character gl_char = character_conversion_map[size][c]; + + auto local_w = (int)((float)gl_char.size.x * scale); + auto local_h = (int)((float)gl_char.size.y * scale); + + w = std::max(w, local_w); + h = std::max(h, local_h); + } + return {w, h}; } diff --git a/src/render/window.cpp b/src/render/window.cpp index d50d43d..b9743b6 100644 --- a/src/render/window.cpp +++ b/src/render/window.cpp @@ -91,6 +91,7 @@ inline void createWindow(int width, int height) { inline void updateWindowViewport(int width, int height){ // TODO: remake the matrix implementation. The values are transposed due to a flawed implementation. perspectiveMatrix = blt::perspective(fov, (float)width / (float)height, FP_NEAR_PLANE, FP_FAR_PLANE); + orthographicMatrix = blt::ortho(0, (float)width, 0, (float)height, -5, 5); glViewport(0, 0, width, height); // make sure we update the global perspective matrix otherwise our rendering is going to look off! fp::shader::updateProjectionMatrix(perspectiveMatrix);