PA199 - Advanced Game Development Project Q&A Q: Is the time in a seminar sufficient for completion of the work for the current week? A: No. You are supposed to finish the implementation as homework. Use the time in the seminars for questions so that you are heading the right direction for the work at home. Q: I've created a static library for graphics functions of my project. But, when I try to include OpenGL by the directive: #include "glad/glad.h" the header file is not found and I get errors. How to fix that? A: Open the CMakeLists.txt file of your graphics library and append there the following code: find_package(glad CONFIG REQUIRED) target_link_libraries( PUBLIC glad::glad) where must be replaced by the name of your library (i.e. the name you write to "add_library" command). Q: I have a static library, where I use the type “std::filesystem::path”. Despite the fact that I include the header I get this compile error: error C2039: 'filesystem': is not a member of 'std' How can I fix this issue? A: The problem is that your library is compiled with the default C++ standard of the compiler, which is lower than C++17. The main executable of your game actually uses C++20 standard. In case you want to fix the issue just in that particular library, then do this: Open the “CMakeLists.txt” file of your library insert the following code anywhere below the “add_library” command: if(MSVC) target_compile_options( PUBLIC /std:c++20) endif() where must be replaced by the name of the library you defined inside the “add_library” command. In case you want to use the C++ standard 20 everywhere (i.e., in all your libraries), then do this: Open the “CMakeLists.txt” file in the root directory of the entire repository and insert the following code anywhere between commands “cmake_minimum_required” and “project”: set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) Q: I want to load shaders and/or textures from the disk. What directory should I put them into and how do I get that path in runtime? A: The shaders and textures must be stored under the corresponding directory under /courses/PA199/project/data where is the project's root directory, i.e., where you cloned the repository. You can obtain a path to the data (shaders/textures) using the the field lecture_folder_path of the class “Application” (in fact that field is in the base class). So, the full path to the directory of shaders you can use this C++ code: lecture_folder_path / "data" / "shaders" and the full path to the directory with textures: lecture_folder_path / "data" / "textures" NOTE: Example loading of shaders and textures is already available in the file “application.cpp”.