commit 444f80053660692e113198c4ad1ce690d6b080ef Author: zack Date: Fri May 23 21:13:53 2025 -0400 init diff --git a/.bootstrap.json b/.bootstrap.json new file mode 100644 index 0000000..25981ad --- /dev/null +++ b/.bootstrap.json @@ -0,0 +1 @@ +[{"name": "libjpeg", "source": {"type": "archive", "url": "http://www.ijg.org/files/jpegsrc.v9d.tar.gz", "sha1": "19b32a12988eae920d142243373841ed78cd4374", "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36"}}, {"name": "nestegg", "source": {"type": "git", "url": "https://github.com/kinetiknz/nestegg", "revision": "8374e436ad90afd61919ffe27aa5ff2887feacba"}, "postprocess": {"type": "script", "file": "libnestegg.py"}}, {"name": "libmodplug", "source": {"type": "archive", "url": "http://downloads.sourceforge.net/project/modplug-xmms/libmodplug/0.8.8.5/libmodplug-0.8.8.5.tar.gz", "sha1": "771ee75bb8bfcfe95eae434ed1f3b2c5b63b2cb3"}, "postprocess": {"type": "patch", "file": "libmodplug_771ee75bb8bfcfe95eae434ed1f3b2c5b63b2cb3.patch"}}, {"name": "stb", "predicate": "platform.system() != 'Windows' or os.getenv('DOWNLOAD_STB') != None", "source": {"type": "git", "url": "https://github.com/nothings/stb.git", "revision": "ae721c50eaf761660b4f90cc590453cdb0c2acd0"}}] \ No newline at end of file diff --git a/.envrc b/.envrc new file mode 100644 index 0000000..3550a30 --- /dev/null +++ b/.envrc @@ -0,0 +1 @@ +use flake diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..aaabd1d --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +reference/ +build/ +bin/ diff --git a/CMake/CommonMacros.txt b/CMake/CommonMacros.txt new file mode 100644 index 0000000..960cb0a --- /dev/null +++ b/CMake/CommonMacros.txt @@ -0,0 +1,57 @@ +cmake_minimum_required(VERSION 3.16) + +macro(SETUP_GROUPS src_files) + foreach(FILE ${src_files}) + get_filename_component(PARENT_DIR "${FILE}" PATH) + + # skip src or include and changes /'s to \\'s + set(GROUP "${PARENT_DIR}") + string(REPLACE "/" "\\" GROUP "${GROUP}") + + source_group("${GROUP}" FILES "${FILE}") + endforeach() +endmacro() + +macro(SET_OUTPUT_NAMES projname) + set_target_properties(${projname} PROPERTIES OUTPUT_NAME_DEBUG ${projname}_Debug) + set_target_properties(${projname} PROPERTIES OUTPUT_NAME_RELEASE ${projname}_Release) + set_target_properties(${projname} PROPERTIES OUTPUT_NAME_RELWITHDEBINFO ${projname}_ReleaseDebInfo) + + # On Linux/macOS the binaries go to /bin folder + if (UNIX) + set_target_properties(${projname} PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/bin") + endif() +endmacro() + +macro(SETUP_APP projname chapter) + set(FOLDER_NAME ${chapter}) + set(PROJECT_NAME ${projname}) + project(${PROJECT_NAME} CXX) + + file(GLOB_RECURSE SRC_FILES LIST_DIRECTORIES false RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} src/*.c??) + file(GLOB_RECURSE HEADER_FILES LIST_DIRECTORIES false RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} src/*.h) + file(GLOB_RECURSE SHADER_FILES LIST_DIRECTORIES false RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} src/*.vert src/*.frag src/*.geom src/*.sp src/*.comp src/*.tesc src/*.tese) + + include_directories(src) + add_executable(${PROJECT_NAME} ${SRC_FILES} ${HEADER_FILES} ${SHADER_FILES}) + + SETUP_GROUPS("${SRC_FILES}") + SETUP_GROUPS("${HEADER_FILES}") + SOURCE_GROUP(shaders FILES "${SHADER_FILES}") + + SET_OUTPUT_NAMES(${PROJECT_NAME}) + + set_property(TARGET ${PROJECT_NAME} PROPERTY FOLDER ${FOLDER_NAME}) + + set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 20) + set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD_REQUIRED ON) + + if(MSVC) + add_definitions(-D_CONSOLE) + set_property(TARGET ${PROJECT_NAME} PROPERTY VS_DEBUGGER_WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}") + endif() + + if(APPLE) + set_target_properties(${PROJECT_NAME} PROPERTIES XCODE_GENERATE_SCHEME TRUE XCODE_SCHEME_WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}") + endif() +endmacro() diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..f28a831 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,106 @@ +cmake_minimum_required(VERSION 3.19) + +project(RenderingCookbook2 CXX C) + +set_property(GLOBAL PROPERTY USE_FOLDERS ON) + +add_subdirectory(deps/src/lightweightvk/third-party/deps/src/ldrutils) +set(KTX_FEATURE_DOC OFF CACHE BOOL "") +set(KTX_FEATURE_GL_UPLOAD OFF CACHE BOOL "") +set(KTX_FEATURE_JNI OFF CACHE BOOL "") +set(KTX_FEATURE_KTX1 ON CACHE BOOL "") +set(KTX_FEATURE_KTX2 ON CACHE BOOL "") +set(KTX_FEATURE_LOADTEST_APPS OFF CACHE BOOL "") +set(KTX_FEATURE_STATIC_LIBRARY ON CACHE BOOL "") +set(KTX_FEATURE_TESTS OFF CACHE BOOL "") +set(KTX_FEATURE_TOOLS OFF CACHE BOOL "") +set(KTX_FEATURE_VK_UPLOAD OFF CACHE BOOL "") +add_subdirectory(deps/src/lightweightvk/third-party/deps/src/ktx-software) +set(LVK_WITH_SAMPLES OFF CACHE BOOL "") +set(LVK_WITH_TRACY ON CACHE BOOL "") +set(LVK_WITH_TRACY_GPU ON CACHE BOOL "") +add_subdirectory(deps/src/lightweightvk) +lvk_set_folder(ktx "third-party/ktx-software") +lvk_set_folder(ktx_read "third-party/ktx-software") +lvk_set_folder(ktx_version "third-party/ktx-software") +lvk_set_folder(obj_basisu_cbind "third-party/ktx-software") +lvk_set_folder(objUtil "third-party/ktx-software") +if(TARGET astcenc-avx2-static) + lvk_set_folder(astcenc-avx2-static "third-party/ktx-software") +endif() +# # cmake-format: on +# +set(ASSIMP_NO_EXPORT ON CACHE BOOL "") +set(ASSIMP_BUILD_DRACO OFF CACHE BOOL "") +set(ASSIMP_BUILD_ASSIMP_TOOLS OFF CACHE BOOL "") +set(ASSIMP_BUILD_TESTS OFF CACHE BOOL "") +set(ASSIMP_INSTALL_PDB OFF CACHE BOOL "") +set(ASSIMP_BUILD_ALL_IMPORTERS_BY_DEFAULT OFF CACHE BOOL "") +set(ASSIMP_BUILD_OBJ_IMPORTER ON CACHE BOOL "") +set(ASSIMP_BUILD_GLTF_IMPORTER ON CACHE BOOL "") +set(ASSIMP_BUILD_ZLIB ON CACHE BOOL "") +# +add_subdirectory(deps/src/assimp) +if(APPLE) + target_compile_options(assimp PRIVATE -Wno-deprecated-declarations) +endif() + +# set(MESHOPT_BUILD_DEMO OFF CACHE BOOL "") +# set(MESHOPT_BUILD_TOOLS OFF CACHE BOOL "") +# set(MESHOPT_BUILD_SHARED_LIBS OFF CACHE BOOL "") +add_subdirectory(deps/src/lightweightvk/third-party/deps/src/meshoptimizer) + +if(WIN32) + add_definitions(-D_CRT_SECURE_NO_WARNINGS) +endif() + +add_definitions(-DGLM_ENABLE_EXPERIMENTAL) + +include_directories(deps/src/lightweightvk/third-party/deps/src/taskflow) +include_directories(deps/src/lightweightvk/third-party/deps/src/glm) +include_directories(deps/src/lightweightvk/third-party/deps/src/imgui) +# +# add_subdirectory(deps/cmake/ImGuizmo) +# +set_property(TARGET assimp PROPERTY FOLDER "third-party") +set_property(TARGET LUtils PROPERTY FOLDER "third-party") +set_property(TARGET meshoptimizer PROPERTY FOLDER "third-party") +if(WIN32) + if(TARGET zlibstatic) + set_property(TARGET zlibstatic PROPERTY FOLDER "third-party") + endif() + if(TARGET UpdateAssimpLibsDebugSymbolsAndDLLs) + set_property(TARGET UpdateAssimpLibsDebugSymbolsAndDLLs PROPERTY FOLDER "third-party") + endif() +endif() +set_property(TARGET uninstall PROPERTY FOLDER "third-party") +# +# # shared utils code +add_subdirectory(shared) +# add_subdirectory(data) +# +# add_dependencies(SharedUtils Dependencies) +# +# disable warnings in third-party code +if(MSVC) + target_compile_options(assimp PRIVATE /wd4267) + target_compile_options(SPIRV PRIVATE /wd4267) +endif() + +set(CMAKE_EXPORT_COMPILE_COMMANDS ON CACHE INTERNAL "") + +if(CMAKE_EXPORT_COMPILE_COMMANDS) + set(CMAKE_CXX_STANDARD_INCLUDE_DIRECTORIES + ${CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES}) +endif() + +# BINARIES +add_subdirectory(Chapter01/01_CMake) +add_subdirectory(Chapter01/02_GLFW) +add_subdirectory(Chapter01/03_Taskflow) +add_subdirectory(Chapter01/04_GLSLang) +add_subdirectory(Chapter01/05_BC7Compression) +add_subdirectory(Chapter02/01_Swapchain) +add_subdirectory(Chapter03/01_Assimp) +add_subdirectory(Chapter04/04_CubeMap) +add_subdirectory(Chapter05/01_MeshOptimizer) diff --git a/Chapter01/01_CMake/CMakeLists.txt b/Chapter01/01_CMake/CMakeLists.txt new file mode 100644 index 0000000..4a95cd0 --- /dev/null +++ b/Chapter01/01_CMake/CMakeLists.txt @@ -0,0 +1,4 @@ +cmake_minimum_required(VERSION 3.19) +project(Chapter01) +include(../../CMake/CommonMacros.txt) +SETUP_APP(Ch01_Sample01_Cmake "Chapter 01") diff --git a/Chapter01/01_CMake/src/main.cpp b/Chapter01/01_CMake/src/main.cpp new file mode 100644 index 0000000..b7ba32f --- /dev/null +++ b/Chapter01/01_CMake/src/main.cpp @@ -0,0 +1,6 @@ +#include "stdio.h" + +int main() { + printf("Hello World!\n"); + return 0; +} diff --git a/Chapter01/02_GLFW/CMakeLists.txt b/Chapter01/02_GLFW/CMakeLists.txt new file mode 100644 index 0000000..9dc4822 --- /dev/null +++ b/Chapter01/02_GLFW/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.19) +project(Chapter01) +include(../../CMake/CommonMacros.txt) +SETUP_APP(Ch01_Sample02_GLFW "Chapter 01") + +target_include_directories(Ch01_Sample02_GLFW PUBLIC ${CMAKE_SOURCE_DIR}) +target_link_libraries(Ch01_Sample02_GLFW SharedUtils) diff --git a/Chapter01/02_GLFW/src/main.cpp b/Chapter01/02_GLFW/src/main.cpp new file mode 100644 index 0000000..0b79c33 --- /dev/null +++ b/Chapter01/02_GLFW/src/main.cpp @@ -0,0 +1,17 @@ +#include +#include + +int main() { + uint32_t width = 1280; + uint32_t height = 720; + + GLFWwindow *window = initWindow("GLFW Example", width, height); + + while (!glfwWindowShouldClose(window)) { + glfwPollEvents(); + } + + glfwDestroyWindow(window); + glfwTerminate(); + return 0; +} diff --git a/Chapter01/03_Taskflow/CMakeLists.txt b/Chapter01/03_Taskflow/CMakeLists.txt new file mode 100644 index 0000000..973bbdc --- /dev/null +++ b/Chapter01/03_Taskflow/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.19) +project(Chapter01) +include(../../CMake/CommonMacros.txt) +SETUP_APP(Ch01_03_Taskflow "Chapter 01") + +target_include_directories(Ch01_03_Taskflow PUBLIC ${CMAKE_SOURCE_DIR}) +target_link_libraries(Ch01_03_Taskflow SharedUtils) diff --git a/Chapter01/03_Taskflow/src/main.cpp b/Chapter01/03_Taskflow/src/main.cpp new file mode 100644 index 0000000..36ecaa4 --- /dev/null +++ b/Chapter01/03_Taskflow/src/main.cpp @@ -0,0 +1,17 @@ +#include +#include + +int main(int argc, char *argv[]) { + tf::Executor executor; + tf::Taskflow taskflow; + + auto [A, B, C, D] = taskflow.emplace( + []() { std::cout << "TaskA\n"; }, []() { std::cout << "TaskB\n"; }, + []() { std::cout << "TaskC\n"; }, []() { std::cout << "TaskD\n"; }); + + A.precede(B, C); + D.succeed(B, C); + + executor.run(taskflow).wait(); + return 0; +} diff --git a/Chapter01/04_GLSLang/CMakeLists.txt b/Chapter01/04_GLSLang/CMakeLists.txt new file mode 100644 index 0000000..8ed4516 --- /dev/null +++ b/Chapter01/04_GLSLang/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.19) +project(Chapter01) +include(../../CMake/CommonMacros.txt) +SETUP_APP(Ch01_04_GLSLang "Chapter 01") + +target_include_directories(Ch01_04_GLSLang PUBLIC ${CMAKE_SOURCE_DIR}) +target_link_libraries(Ch01_04_GLSLang SharedUtils) diff --git a/Chapter01/04_GLSLang/src/main.cpp b/Chapter01/04_GLSLang/src/main.cpp new file mode 100644 index 0000000..2adfc58 --- /dev/null +++ b/Chapter01/04_GLSLang/src/main.cpp @@ -0,0 +1,39 @@ +#include "glslang/Include/glslang_c_interface.h" +#include "glslang/Public/resource_limits_c.h" +#include "vulkan/VulkanUtils.h" +#include +#include +#include +#include +#include + +void saveSpirvBinaryFile(const char *filename, const uint8_t *code, + size_t size) { + FILE *f = fopen(filename, "wb"); + fwrite(code, sizeof(uint8_t), size, f); + fclose(f); +} + +void testShaderCompilation(const char *sourceFilename, + const char *destFilename) { + std::string shaderSource = readShaderFile(sourceFilename); + std::vector spirv; + + lvk::Result res = lvk::compileShader( + vkShaderStageFromFileName(sourceFilename), shaderSource.c_str(), &spirv, + glslang_default_resource()); + + saveSpirvBinaryFile(destFilename, spirv.data(), spirv.size()); +} + +int main(int argc, char *argv[]) { + glslang_initialize_process(); + + testShaderCompilation("Chapter01/04_GLSLang/src/main.vert", + ".cache/04_GLSLang.vert.bin"); + testShaderCompilation("Chapter01/04_GLSLang/src/main.frag", + ".cache/04_GLSLang.frag.bin"); + + glslang_finalize_process(); + return 0; +} diff --git a/Chapter01/04_GLSLang/src/main.frag b/Chapter01/04_GLSLang/src/main.frag new file mode 100644 index 0000000..e1f421a --- /dev/null +++ b/Chapter01/04_GLSLang/src/main.frag @@ -0,0 +1,11 @@ +// +#version 450 + +layout(location = 0) in vec3 fragColor; +layout(location = 1) in vec2 texCoord; + +layout(location = 0) out vec4 outColor; + +void main() { + outColor = vec4(texCoord.x, texCoord.y, 1.0, 1.0); +} diff --git a/Chapter01/04_GLSLang/src/main.vert b/Chapter01/04_GLSLang/src/main.vert new file mode 100644 index 0000000..d626146 --- /dev/null +++ b/Chapter01/04_GLSLang/src/main.vert @@ -0,0 +1,28 @@ +#version 450 + +layout(location = 0) out vec3 fragColor; +layout(location = 1) out vec2 texCoord; + +vec2 positions[3] = vec2[]( + vec2(0.0, -0.5), + vec2(0.5, 0.5), + vec2(-0.5, 0.5) +); + +vec3 colors[3] = vec3[]( + vec3(1.0, 0.0, 0.0), + vec3(0.0, 1.0, 0.0), + vec3(0.0, 0.0, 1.0) +); + +vec2 texcoords[3] = vec2[]( + vec2(1.0f, 0.0f), + vec2(0.0f, 0.0f), + vec2(0.0f, 1.0f) +); + +void main() { + gl_Position = vec4(positions[gl_VertexIndex], 0.0, 1.0); + fragColor = colors[gl_VertexIndex]; + texCoord = texcoords[gl_VertexIndex]; +} diff --git a/Chapter01/05_BC7Compression/CMakeLists.txt b/Chapter01/05_BC7Compression/CMakeLists.txt new file mode 100644 index 0000000..70a869a --- /dev/null +++ b/Chapter01/05_BC7Compression/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.19) +project(Chapter01) +include(../../CMake/CommonMacros.txt) +SETUP_APP(Ch01_05_BC7Compression "Chapter 01") + +target_include_directories(Ch01_05_BC7Compression PUBLIC ${CMAKE_SOURCE_DIR}) +target_link_libraries(Ch01_05_BC7Compression SharedUtils) diff --git a/Chapter01/05_BC7Compression/src/main.cpp b/Chapter01/05_BC7Compression/src/main.cpp new file mode 100644 index 0000000..8857e58 --- /dev/null +++ b/Chapter01/05_BC7Compression/src/main.cpp @@ -0,0 +1,95 @@ +#include +#include + +#include +#include +#include + +#include +#include + +#include + +int main(int argc, char *argv[]) { + const int numChannels = 4; + int origW, origH; + const uint8_t *pixels = + stbi_load("data/wood.jpg", &origW, &origH, nullptr, numChannels); + + assert(pixels); + + const uint32_t numMipLevels = lvk::calcNumMipLevels(origW, origH); + + ktxTextureCreateInfo createInfoKTX2 = { + .glInternalformat = GL_RGBA8, + .vkFormat = VK_FORMAT_BC7_UNORM_BLOCK, + .baseWidth = (uint32_t)origW, + .baseHeight = (uint32_t)origH, + .baseDepth = 1u, + .numDimensions = 2u, + .numLevels = numMipLevels, + .numLayers = 1u, + .numFaces = 1u, + .generateMipmaps = KTX_FALSE, + }; + ktxTexture2 *textureKTX2 = nullptr; + (void)LVK_VERIFY(ktxTexture2_Create(&createInfoKTX2, + KTX_TEXTURE_CREATE_ALLOC_STORAGE, + &textureKTX2) == KTX_SUCCESS); + + int w = origW; + int h = origH; + + for (uint32_t i = 0; i != numMipLevels; ++i) { + size_t offset = 0; + ktxTexture_GetImageOffset(ktxTexture(textureKTX2), i, 0, 0, &offset); + + stbir_resize_uint8_linear((const unsigned char *)pixels, origW, origH, 0, + ktxTexture_GetData(ktxTexture(textureKTX2)) + + offset, + w, h, 0, STBIR_RGBA); + + h = h > 1 ? h >> 1 : 1; + w = w > 1 ? w >> 1 : 1; + } + + (void)LVK_VERIFY(ktxTexture2_CompressBasis(textureKTX2, 255) == KTX_SUCCESS); + (void)LVK_VERIFY(ktxTexture2_TranscodeBasis(textureKTX2, KTX_TTF_BC7_RGBA, + 0) == KTX_SUCCESS); + + // convert to KTX1 + ktxTextureCreateInfo createInfoKTX1 = { + .glInternalformat = GL_COMPRESSED_RGBA_BPTC_UNORM, + .vkFormat = VK_FORMAT_BC7_UNORM_BLOCK, + .baseWidth = (uint32_t)origW, + .baseHeight = (uint32_t)origH, + .baseDepth = 1u, + .numDimensions = 2u, + .numLevels = numMipLevels, + .numLayers = 1u, + .numFaces = 1u, + .generateMipmaps = KTX_FALSE, + }; + ktxTexture1 *textureKTX1 = nullptr; + (void)LVK_VERIFY(ktxTexture1_Create(&createInfoKTX1, + KTX_TEXTURE_CREATE_ALLOC_STORAGE, + &textureKTX1) == KTX_SUCCESS); + + for (uint32_t i = 0; i != numMipLevels; ++i) { + size_t offset1 = 0; + (void)LVK_VERIFY(ktxTexture_GetImageOffset(ktxTexture(textureKTX1), i, 0, 0, + &offset1) == KTX_SUCCESS); + size_t offset2 = 0; + (void)LVK_VERIFY(ktxTexture_GetImageOffset(ktxTexture(textureKTX2), i, 0, 0, + &offset2) == KTX_SUCCESS); + memcpy(ktxTexture_GetData(ktxTexture(textureKTX1)) + offset1, + ktxTexture_GetData(ktxTexture(textureKTX2)) + offset2, + ktxTexture_GetImageSize(ktxTexture(textureKTX1), i)); + } + + ktxTexture_WriteToNamedFile(ktxTexture(textureKTX1), ".cache/image.ktx"); + ktxTexture_Destroy(ktxTexture(textureKTX1)); + ktxTexture_Destroy(ktxTexture(textureKTX2)); + + return 0; +} diff --git a/Chapter02/01_Swapchain/CMakeLists.txt b/Chapter02/01_Swapchain/CMakeLists.txt new file mode 100644 index 0000000..cbdc6fd --- /dev/null +++ b/Chapter02/01_Swapchain/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.19) +project(Chapter02) +include(../../CMake/CommonMacros.txt) +SETUP_APP(Ch02_01_Swapchain "Chapter 02") + +target_include_directories(Ch02_01_Swapchain PUBLIC ${CMAKE_SOURCE_DIR}) +target_link_libraries(Ch02_01_Swapchain SharedUtils) diff --git a/Chapter02/01_Swapchain/src/main.cpp b/Chapter02/01_Swapchain/src/main.cpp new file mode 100644 index 0000000..7a84d45 --- /dev/null +++ b/Chapter02/01_Swapchain/src/main.cpp @@ -0,0 +1,26 @@ +#include "LVK.h" +#include "minilog/minilog.h" +#include +#include + +int main(int argc, char *argv[]) { + minilog::initialize(nullptr, {.threadNames = false}); + int width = 960; + int height = 540; + GLFWwindow *window = lvk::initWindow("Simple Example", width, height); + std::unique_ptr ctx = + lvk::createVulkanContextWithSwapchain(window, width, height, {}); + + while (!glfwWindowShouldClose(window)) { + glfwPollEvents(); + glfwGetFramebufferSize(window, &width, &height); + if (!width || !height) + continue; + lvk::ICommandBuffer &buf = ctx->acquireCommandBuffer(); + ctx->submit(buf, ctx->getCurrentSwapchainTexture()); + } + ctx.reset(); + glfwDestroyWindow(window); + glfwTerminate(); + return 0; +} diff --git a/Chapter03/01_Assimp/CMakeLists.txt b/Chapter03/01_Assimp/CMakeLists.txt new file mode 100644 index 0000000..246c690 --- /dev/null +++ b/Chapter03/01_Assimp/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.19) +project(Chapter03) +include(../../CMake/CommonMacros.txt) +SETUP_APP(Ch03_01_Assimp "Chapter 03") + +target_include_directories(Ch03_01_Assimp PUBLIC ${CMAKE_SOURCE_DIR}) +target_link_libraries(Ch03_01_Assimp SharedUtils) diff --git a/Chapter03/01_Assimp/src/main.cpp b/Chapter03/01_Assimp/src/main.cpp new file mode 100644 index 0000000..e47a217 --- /dev/null +++ b/Chapter03/01_Assimp/src/main.cpp @@ -0,0 +1,176 @@ +#include "shared/HelpersGLFW.h" +#include +#include + +#include + +#include + +#include +#include + +#include +#include +#include +#include + +#include +#include + +#include + +using glm::mat4; +using glm::vec3; + +int main(int argc, char *argv[]) { + minilog::initialize(nullptr, {.threadNames = false}); + + int width = -65; + int height = -60; + + GLFWwindow *window = lvk::initWindow("Ch03_01: Assimp", width, height); + std::unique_ptr ctx = + lvk::createVulkanContextWithSwapchain(window, width, height, {}); + + const aiScene *scene = + aiImportFile("data/rubber_duck/scene.gltf", aiProcess_Triangulate); + + if (!scene || !scene->HasMeshes()) { + printf("Unable to load data/rubber_duck/scene.gltf\n"); + exit(255); + } + + const aiMesh *mesh = scene->mMeshes[0]; + std::vector positions; + std::vector indicies; + for (unsigned int i = 0; i != mesh->mNumVertices; i++) { + const aiVector3D v = mesh->mVertices[i]; + positions.push_back(vec3(v.x, v.y, v.z)); + } + + for (unsigned int i = 0; i != mesh->mNumFaces; i++) { + for (int j = 0; j != 3; j++) { + indicies.push_back(mesh->mFaces[i].mIndices[j]); + } + } + aiReleaseImport(scene); + + lvk::Holder vertexBuffer = + ctx->createBuffer({.usage = lvk::BufferUsageBits_Vertex, + .storage = lvk::StorageType_Device, + .size = sizeof(vec3) * positions.size(), + .data = positions.data(), + .debugName = "Buffer: vertex"}); + lvk::Holder indexBuffer = + ctx->createBuffer({.usage = lvk::BufferUsageBits_Index, + .storage = lvk::StorageType_Device, + .size = sizeof(uint32_t) * indicies.size(), + .data = indicies.data(), + .debugName = "Buffer: index"}); + + lvk::Holder depthTexture = + ctx->createTexture({.type = lvk::TextureType_2D, + .format = lvk::Format_Z_F32, + .dimensions = {(uint32_t)width, (uint32_t)height}, + .usage = lvk::TextureUsageBits_Attachment, + .debugName = "Depth buffer"}); + + const lvk::VertexInput vdesc = { + .attributes = {{.location = 0, .format = lvk::VertexFormat::Float3}}, + .inputBindings = {{.stride = sizeof(vec3)}}, + }; + + lvk::Holder vert = + loadShaderModule(ctx, "Chapter03/01_Assimp/src/main.vert"); + lvk::Holder frag = + loadShaderModule(ctx, "Chapter03/01_Assimp/src/main.frag"); + + lvk::Holder pipelineSolid = + ctx->createRenderPipeline( + {.vertexInput = vdesc, + .smVert = vert, + .smFrag = frag, + .color = {{.format = ctx->getSwapchainFormat()}}, + .depthFormat = ctx->getFormat(depthTexture), + .cullMode = lvk::CullMode_Back}); + + const uint32_t isWireframe = 1; + lvk::Holder pipelineWireframe = + ctx->createRenderPipeline( + {.vertexInput = vdesc, + .smVert = vert, + .smFrag = frag, + .specInfo = {.entries = {{.constantId = 0, + .size = sizeof(uint32_t)}}, + .data = &isWireframe, + .dataSize = sizeof(isWireframe)}, + .color = {{.format = ctx->getSwapchainFormat()}}, + .depthFormat = ctx->getFormat(depthTexture), + .cullMode = lvk::CullMode_Back, + .polygonMode = lvk::PolygonMode_Line}); + + LVK_ASSERT(pipelineSolid.valid()); + LVK_ASSERT(pipelineWireframe.valid()); + + while (!glfwWindowShouldClose(window)) { + glfwPollEvents(); + int width, height; + glfwGetFramebufferSize(window, &width, &height); + if (!width || !height) + continue; + const float ratio = width / (float)height; + + const mat4 m = glm::rotate(mat4(1.0f), glm::radians(-90.0f), vec3(1, 0, 0)); + const mat4 v = + glm::rotate(glm::translate(mat4(1.0f), vec3(0.0f, -0.5f, -1.5f)), + (float)glfwGetTime(), vec3(0.0f, 1.0f, 0.0f)); + const mat4 p = glm::perspective(45.0f, ratio, 0.1f, 1000.0f); + + const lvk::RenderPass renderPass = { + .color = {{.loadOp = lvk::LoadOp_Clear, + .clearColor = {1.0f, 1.0f, 1.0f, 1.0f}}}, + .depth = {.loadOp = lvk::LoadOp_Clear, .clearDepth = 1.0f}}; + + const lvk::Framebuffer framebuffer = { + .color = {{.texture = ctx->getCurrentSwapchainTexture()}}, + .depthStencil = {.texture = depthTexture}, + }; + + lvk::ICommandBuffer &buf = ctx->acquireCommandBuffer(); + { + buf.cmdBeginRendering(renderPass, framebuffer); + { + buf.cmdPushDebugGroupLabel("Mesh", 0xff0000ff); + { + buf.cmdBindVertexBuffer(0, vertexBuffer); + buf.cmdBindIndexBuffer(indexBuffer, lvk::IndexFormat_UI32); + buf.cmdBindRenderPipeline(pipelineSolid); + buf.cmdBindDepthState( + {.compareOp = lvk::CompareOp_Less, .isDepthWriteEnabled = true}); + buf.cmdPushConstants(p * v * m); + buf.cmdDrawIndexed(indicies.size()); + buf.cmdBindRenderPipeline(pipelineWireframe); + buf.cmdSetDepthBiasEnable(true); + buf.cmdSetDepthBias(0.0f, -1.0f, 0.0f); + buf.cmdDrawIndexed(indicies.size()); + } + buf.cmdPopDebugGroupLabel(); + buf.cmdEndRendering(); + } + } + ctx->submit(buf, ctx->getCurrentSwapchainTexture()); + } + + vert.reset(); + frag.reset(); + depthTexture.reset(); + pipelineSolid.reset(); + pipelineWireframe.reset(); + vertexBuffer.reset(); + indexBuffer.reset(); + ctx.reset(); + + glfwDestroyWindow(window); + glfwTerminate(); + return 0; +} diff --git a/Chapter03/01_Assimp/src/main.frag b/Chapter03/01_Assimp/src/main.frag new file mode 100644 index 0000000..104832f --- /dev/null +++ b/Chapter03/01_Assimp/src/main.frag @@ -0,0 +1,9 @@ +// +#version 460 core + +layout (location = 0) in vec3 color; +layout (location = 0) out vec4 out_FragColor; + +void main() { + out_FragColor = vec4(color, 1.0); +} diff --git a/Chapter03/01_Assimp/src/main.vert b/Chapter03/01_Assimp/src/main.vert new file mode 100644 index 0000000..ecf9db7 --- /dev/null +++ b/Chapter03/01_Assimp/src/main.vert @@ -0,0 +1,16 @@ +// +#version 460 core + +layout(push_constant) uniform PerFrameData { + mat4 MVP; +}; + +layout (constant_id = 0) const bool isWireframe = false; + +layout (location=0) in vec3 pos; +layout (location=0) out vec3 color; + +void main() { + gl_Position = MVP * vec4(pos, 1.0); + color = isWireframe ? vec3(0.0) : pos.xzy; +} diff --git a/Chapter04/04_CubeMap/CMakeLists.txt b/Chapter04/04_CubeMap/CMakeLists.txt new file mode 100644 index 0000000..873c6ac --- /dev/null +++ b/Chapter04/04_CubeMap/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.19) +project(Chapter04) +include(../../CMake/CommonMacros.txt) +SETUP_APP(Ch04_04_CubeMap "Chapter 04") + +target_include_directories(Ch04_04_CubeMap PUBLIC ${CMAKE_SOURCE_DIR}) +target_link_libraries(Ch04_04_CubeMap SharedUtils) diff --git a/Chapter04/04_CubeMap/src/main.cpp b/Chapter04/04_CubeMap/src/main.cpp new file mode 100644 index 0000000..949c02b --- /dev/null +++ b/Chapter04/04_CubeMap/src/main.cpp @@ -0,0 +1,30 @@ +#include "GLFW/glfw3.h" +#include "LVK.h" +#include "minilog/minilog.h" +#include +#include + +int main(int argc, char *argv[]) { + minilog::initialize(nullptr, {.threadNames = false}); + + int width = 1280; + int height = 720; + + GLFWwindow *window = lvk::initWindow("Ch04_04: CubeMap", width, height); + std::unique_ptr ctx = + lvk::createVulkanContextWithSwapchain(window, width, height, {}); + + while (!glfwWindowShouldClose(window)) { + glfwPollEvents(); + glfwGetFramebufferSize(window, &width, &height); + if (!width || !height) + continue; + lvk::ICommandBuffer &buf = ctx->acquireCommandBuffer(); + ctx->submit(buf, ctx->getCurrentSwapchainTexture()); + } + + ctx.reset(); + glfwDestroyWindow(window); + glfwTerminate(); + return 0; +} diff --git a/Chapter05/01_MeshOptimizer/CMakeLists.txt b/Chapter05/01_MeshOptimizer/CMakeLists.txt new file mode 100644 index 0000000..d42fd54 --- /dev/null +++ b/Chapter05/01_MeshOptimizer/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.19) +project(Chapter05) +include(../../CMake/CommonMacros.txt) +SETUP_APP(Ch05_01_MeshOptimizer "Chapter 05") + +target_include_directories(Ch05_01_MeshOptimizer PUBLIC ${CMAKE_SOURCE_DIR}) +target_link_libraries(Ch05_01_MeshOptimizer SharedUtils) +target_link_libraries(Ch05_01_MeshOptimizer meshoptimizer) diff --git a/Chapter05/01_MeshOptimizer/src/main.cpp b/Chapter05/01_MeshOptimizer/src/main.cpp new file mode 100644 index 0000000..55d4327 --- /dev/null +++ b/Chapter05/01_MeshOptimizer/src/main.cpp @@ -0,0 +1,221 @@ +#include +#include + +#include + +#include + +#include +#include + +#include +#include +#include +#include + +#include + +#include +#include + +#include + +using glm::mat4; +using glm::vec3; + +int main(int argc, char *argv[]) { + minilog::initialize(nullptr, {.threadNames = false}); + + int width = -65; + int height = -60; + + GLFWwindow *window = lvk::initWindow("Ch05_01: MeshOpt", width, height); + std::unique_ptr ctx = + lvk::createVulkanContextWithSwapchain(window, width, height, {}); + + const aiScene *scene = + aiImportFile("data/rubber_duck/scene.gltf", aiProcess_Triangulate); + + if (!scene || !scene->HasMeshes()) { + printf("Unable to load data/rubber_duck/scene.gltf\n"); + exit(255); + } + + const aiMesh *mesh = scene->mMeshes[0]; + std::vector positions; + std::vector indicies; + for (unsigned int i = 0; i != mesh->mNumVertices; i++) { + const aiVector3D v = mesh->mVertices[i]; + positions.push_back(vec3(v.x, v.y, v.z)); + } + + for (unsigned int i = 0; i != mesh->mNumFaces; i++) { + for (int j = 0; j != 3; j++) { + indicies.push_back(mesh->mFaces[i].mIndices[j]); + } + } + aiReleaseImport(scene); + + std::vector remap(indicies.size()); + const size_t vertexCount = meshopt_generateVertexRemap( + remap.data(), indicies.data(), indicies.size(), positions.data(), + indicies.size(), sizeof(vec3)); + + std::vector remappedIndices(indicies.size()); + std::vector remappedVertices(vertexCount); + meshopt_remapIndexBuffer(remappedIndices.data(), indicies.data(), + indicies.size(), remap.data()); + meshopt_remapVertexBuffer(remappedVertices.data(), positions.data(), + positions.size(), sizeof(vec3), remap.data()); + + meshopt_optimizeVertexCache(remappedIndices.data(), remappedIndices.data(), + indicies.size(), vertexCount); + + meshopt_optimizeOverdraw(remappedIndices.data(), remappedIndices.data(), + indicies.size(), glm::value_ptr(remappedVertices[0]), + vertexCount, sizeof(vec3), 1.05f); + + meshopt_optimizeVertexFetch(remappedVertices.data(), remappedIndices.data(), + indicies.size(), remappedVertices.data(), + vertexCount, sizeof(vec3)); + + const float threshold = 0.2f; + const float target_index_count = size_t(remappedIndices.size() * threshold); + const float target_error = 0.01f; + + std::vector indiciesLod; + indiciesLod.resize(remappedIndices.size()); + indiciesLod.resize(meshopt_simplify( + &indiciesLod[0], remappedIndices.data(), remappedIndices.size(), + &remappedVertices[0].x, vertexCount, sizeof(vec3), target_index_count, + target_error)); + + indicies = remappedIndices; + positions = remappedVertices; + + lvk::Holder vertexBuffer = + ctx->createBuffer({.usage = lvk::BufferUsageBits_Vertex, + .storage = lvk::StorageType_Device, + .size = sizeof(vec3) * positions.size(), + .data = positions.data(), + .debugName = "Buffer: vertex"}); + lvk::Holder indexBuffer = + ctx->createBuffer({.usage = lvk::BufferUsageBits_Index, + .storage = lvk::StorageType_Device, + .size = sizeof(uint32_t) * indicies.size(), + .data = indicies.data(), + .debugName = "Buffer: index"}); + lvk::Holder indexBufferLod = + ctx->createBuffer({.usage = lvk::BufferUsageBits_Index, + .storage = lvk::StorageType_Device, + .size = sizeof(uint32_t) * indiciesLod.size(), + .data = indiciesLod.data(), + .debugName = "Buffer: index LOD"}); + + lvk::Holder depthTexture = + ctx->createTexture({.type = lvk::TextureType_2D, + .format = lvk::Format_Z_F32, + .dimensions = {(uint32_t)width, (uint32_t)height}, + .usage = lvk::TextureUsageBits_Attachment, + .debugName = "Depth buffer"}); + + const lvk::VertexInput vdesc = { + .attributes = {{.location = 0, .format = lvk::VertexFormat::Float3}}, + .inputBindings = {{.stride = sizeof(vec3)}}, + }; + + lvk::Holder vert = + loadShaderModule(ctx, "Chapter03/01_Assimp/src/main.vert"); + lvk::Holder frag = + loadShaderModule(ctx, "Chapter03/01_Assimp/src/main.frag"); + + lvk::Holder pipelineSolid = + ctx->createRenderPipeline( + {.vertexInput = vdesc, + .smVert = vert, + .smFrag = frag, + .color = {{.format = ctx->getSwapchainFormat()}}, + .depthFormat = ctx->getFormat(depthTexture), + .cullMode = lvk::CullMode_Back}); + + const uint32_t isWireframe = 1; + lvk::Holder pipelineWireframe = + ctx->createRenderPipeline( + {.vertexInput = vdesc, + .smVert = vert, + .smFrag = frag, + .specInfo = {.entries = {{.constantId = 0, + .size = sizeof(uint32_t)}}, + .data = &isWireframe, + .dataSize = sizeof(isWireframe)}, + .color = {{.format = ctx->getSwapchainFormat()}}, + .depthFormat = ctx->getFormat(depthTexture), + .cullMode = lvk::CullMode_Back, + .polygonMode = lvk::PolygonMode_Line}); + + LVK_ASSERT(pipelineSolid.valid()); + LVK_ASSERT(pipelineWireframe.valid()); + + while (!glfwWindowShouldClose(window)) { + glfwPollEvents(); + int width, height; + glfwGetFramebufferSize(window, &width, &height); + if (!width || !height) + continue; + const float ratio = width / (float)height; + + const mat4 m = glm::rotate(mat4(1.0f), glm::radians(-90.0f), vec3(1, 0, 0)); + const mat4 v = + glm::rotate(glm::translate(mat4(1.0f), vec3(0.0f, -0.5f, -1.5f)), + (float)glfwGetTime(), vec3(0.0f, 1.0f, 0.0f)); + const mat4 p = glm::perspective(45.0f, ratio, 0.1f, 1000.0f); + + const lvk::RenderPass renderPass = { + .color = {{.loadOp = lvk::LoadOp_Clear, + .clearColor = {1.0f, 1.0f, 1.0f, 1.0f}}}, + .depth = {.loadOp = lvk::LoadOp_Clear, .clearDepth = 1.0f}}; + + const lvk::Framebuffer framebuffer = { + .color = {{.texture = ctx->getCurrentSwapchainTexture()}}, + .depthStencil = {.texture = depthTexture}, + }; + + lvk::ICommandBuffer &buf = ctx->acquireCommandBuffer(); + { + buf.cmdBeginRendering(renderPass, framebuffer); + { + buf.cmdPushDebugGroupLabel("Mesh", 0xff0000ff); + { + buf.cmdBindVertexBuffer(0, vertexBuffer); + buf.cmdBindIndexBuffer(indexBufferLod, lvk::IndexFormat_UI32); + buf.cmdBindRenderPipeline(pipelineSolid); + buf.cmdBindDepthState( + {.compareOp = lvk::CompareOp_Less, .isDepthWriteEnabled = true}); + buf.cmdPushConstants(p * v * m); + buf.cmdDrawIndexed(indiciesLod.size()); + buf.cmdBindRenderPipeline(pipelineWireframe); + buf.cmdSetDepthBiasEnable(true); + buf.cmdSetDepthBias(0.0f, -1.0f, 0.0f); + buf.cmdDrawIndexed(indiciesLod.size()); + } + buf.cmdPopDebugGroupLabel(); + buf.cmdEndRendering(); + } + } + ctx->submit(buf, ctx->getCurrentSwapchainTexture()); + } + + vert.reset(); + frag.reset(); + depthTexture.reset(); + pipelineSolid.reset(); + pipelineWireframe.reset(); + vertexBuffer.reset(); + indexBuffer.reset(); + indexBufferLod.reset(); + ctx.reset(); + + glfwDestroyWindow(window); + glfwTerminate(); + return 0; +} diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..5323a31 --- /dev/null +++ b/LICENSE @@ -0,0 +1,14 @@ +The MIT License (MIT) +Copyright (c) 2016-2025, Sergey Kosarevsky + +--- +Based on https://bitbucket.org/blippar/bootstrapping-external-libs + +The MIT License (MIT) +Copyright (c) 2016 Blippar.com Ltd + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..90f34b9 --- /dev/null +++ b/README.md @@ -0,0 +1,290 @@ +# 👢 Bootstrap + +The Bootstrap script is a versatile dependencies manager for your C++ +projects. You can think of it as a portable (Windows, Linux, OSX) and a more +feature-complete alternative to Google's Repo tool. The script itself is written +in Python and should "just work" using any standard Python 3 installation. + +## Introduction + +Main features of Bootstrap: +- One-button-download philosophy. Just run the script to download and update all your dependencies. +- Cross-platform. Runs on Windows, Linux, and OSX. +- Full support of Git, Mercurial, SVN repositories. +- Full support of `.zip`, `.tar`, `.gz`, `.bz2`, `.xz` archives. +- Caching and fallback mechanisms. +- Rich error reporting. + +## Usage + +For instance, this minimalistic JSON snippet will clone the GLFW library from its Git repository +and check out the revision which is tagged `3.3`. + +```JSON +[{ + "name": "glfw", + "source": { + "type": "git", + "url": "https://github.com/glfw/glfw.git", + "revision": "3.3" + } +}] +``` + +This simple JSON snippet will download the `libjpeg` library from +the specified URL (via a custom `user-agent` string), check the archive integrity +via SHA1, unpack the archive, and put its content into the `src/libjpeg` folder: + +```JSON +[{ + "name": "libjpeg", + "source": { + "type": "archive", + "url": "http://www.ijg.org/files/jpegsrc.v9a.tar.gz", + "sha1": "d65ed6f88d318f7380a3a5f75d578744e732daca", + "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36" + } +}] +``` + +This JSON snippet will download the `nestegg` library from the Git repository, +checkout the specified revision, and apply a patch via a custom Python script. +You can also provide an optional `predicate` string to run custom Python code +to determine whether the library needs to be downloaded. + +```JSON +[{ + "name": "nestegg", + "predicate": "platform.system() != 'Windows' or os.getenv('DOWNLOAD_STB') != None", + "source": { + "type": "git", + "url": "https://github.com/kinetiknz/nestegg", + "revision": "8374e436ad90afd61919ffe27aa5ff2887feacba" + }, + "postprocess": { + "type": "script", + "file": "libnestegg.py" + } +}] +``` + +Read the comprehensive documentation below for further details. + +# Projects using this script + +- **[IGL](https://github.com/facebook/igl/)** - Meta's Intermediate Graphics Library (IGL) is a cross-platform library that commands the GPU. License: MIT. +- **[LightweightVK](https://github.com/corporateshark/lightweightvk)** - lightweight C++ bindless Vulkan 1.3 wrapper. License: MIT. +- **[Mastering Graphics Programming with Vulkan](https://github.com/PacktPublishing/Mastering-Graphics-Programming-with-Vulkan)** +- **[3D Graphics Rendering Cookbook](https://github.com/PacktPublishing/3D-Graphics-Rendering-Cookbook)** +- **[Vulkan 3D Graphics Rendering Cookbook](https://github.com/PacktPublishing/3D-Graphics-Rendering-Cookbook-Second-Edition)** + + +## P.S. + +This is a fork of an abandoned library https://bitbucket.org/blippar/bootstrapping-external-libs + +------------------------------------------------------------------------------ +Original documentation: +------------------------------------------------------------------------------ + +This repository holds our external (i.e. third party) libraries. After a fresh +clone, the repository contains *only* metadata about the libraries, i.e. their +names, where to retrieve them from, etc. In order to actually obtain or update +the libraries, the user must run a bootstrapping script, which downloads all +third-party libraries and places them into a src/ directory. + + +Prerequisites +------------- + +The script itself is written in Python and should "just work" using any standard +Python 2 or 3 installation. The version control tools Git, Mercurial and +Subversion must be installed and available on the environment path; in addition, +the 'patch' program must be present on the user's system. On Windows, the script +can be run from the command line (for patching to work, ensure you have the Cygwin +patch tool installed). + + +Obtaining the libraries +----------------------- + +Run the bootstrapping script from the repository's top-level directory: +> python bootstrap.py +or just: +> ./bootstrap.py + +The script should run without any errors or exceptions raised. Third-party +library sources are either downloaded as a packaged archive file (e.g. .zip, +.tar.gz, .tar.bz2) and then uncompressed, or cloned directly from the original +repository. All source code is obtained from the respective authorative sources, +i.e. directly from the authors' websites or repositories. + +After script execution has finished, the following files and directories should +have been added to the repository folder: + +``` + |- external + |- .bootstrap.json + |- archives/ + |- ... + |- snapshots/ + |- ... + |- src/ + |- ... +``` + +- The file .bootstrap.json contains the cached state of the last bootstrapping/ +pdating operation. The script always compares against this state, in order to +decide whether to update a library. For example, if boostrap.py has executed +successfully and is then immediately re-run, no further action will take place. + +- The directory archives/ contains the archive files of all libraries that have +been downloaded as archives. It serves as a cache to prevent multiple downloads. + +- The directory snapshots/ serves as a cache for snapshots of a complete +repository. It will only be created if the --repo-snapshots option was specified +on the command line. This will enable the respective copy of the 'external' +repository to serve as a fallback location. + +- The directory src/ contains all third-party library sources. Libraries that +were obtained in archive form will have been uncompressed into this directory. +Libraries that were obtained from a repository (Git, Mercurial or SVN) will have +been cloned into this directory. + + +Adding or changing the version of a library +------------------------------------------- + +All metadata about the third-party libraries and their versions is contained in +a single JSON file (bootstrap.json) that is being read by the script. + +The file should contain exactly one JSON array of objects, where each object +contained in this array describes one library. This JSON schema gives an +overview of the format: + +``` +[ +{ + "name": "LibraryName", + "source": { + "type": "archive|git|hg|svn", + "url": "http://...", + "sha1": "0123456789...0123456789", # for type == archive + "revision": "0123456789" # for type == git|hg|svn + }, + "postprocess": { + "type": "patch|script", + "file": "filename" + } +}, +{ + ... +}, +... +] +``` + +The library "name" specifies the name of the library, which in turn specifies +the subdirectory name under the src/ directory. The name should be the common +name of the library (e.g. "libjpeg") and *not* contain any particular version +numbers or other information that may change between versions. + +For each library, the "source" field contains information about where to obtain +the library from, in the form of a JSON object. + +The source "type" field can be one of the following types: "archive", "git", +"hg", or "svn". The first type describes an archive file (such as .zip, .tar.gz, +.tar.bz2 files), while the last three types describe different repository types. + +The "url" value contains the URL of the archive to be downloaded in case the +type is 'archive', and the respository URL otherwise. + +If the source type is 'archive', then the optional "sha1" field can (and should) +be used to add the SHA1 hash of the archive, for verification purposes. + +For repositories (i.e. type is 'git|hg|svn'), an optional "revision" field can +specify the particular revision/commit to be checked out. If the revision field +is omitted, the default is to check out the HEAD revision of the master branch +(for Git repositories), or the tip of the default branch (for Mercurial +repositories). + +The "postprocess" field contains an object which describes any optional post- +processing steps, once the original library sources have been put into the src/ +directory. Post-processing can be of type "patch" or "script"; in both cases, +the filename has to be given in the "file" field. + +For type 'patch', the file field specifies a patch file to be contained in the +patches/ directory. For type 'file', the file field specified a script that is +run from the patches/ directory. Patches can be used to make minor modifications +to a library, such as silencing warning or to fix bugs which have not been +included in the upstream version of the library. Scripts can embody any more +complex operations, but should mainly be used for simple library-specific +prerequisites (such as copying header prototype files). All scripts have to +be written in Python, in order to be compatible with all platforms, including +Windows. + +Patches should be created using the `diff` program from the external/ directory, +similar to this example: +``` +> diff --exclude=".git" --exclude=".hg" -rupN \ + ./src/AGAST/ ./src/AGAST_patched/ > ./patches/agast.patch +``` +The default -p argument for the patch command is 3, but this can be changed by +an optional "pnum" field inside the postprocessing JSON object, containing a +numeric value. +For example, for patches created using `git diff` or `hg diff`, a "pnum" +argument of "1" is likely needed. This method of creating a patch is +discouraged, however, in favor of the cleaner method using the plain 'diff' +command described above. + +In general, only ever add or modify libraries in a way that is compatible with +how it's already done. See also the next section. + + +Policies for adding or updating a library +----------------------------------------- + +- IMPORTANT: There shall be NO committed source code of any kind in this +repository (besides patches). All source code shall be downloaded from the +respective authorative sources, i.e. the library authors' web sites (zipped or +tarred packages) or repositories. + +- IMPORTANT: There shall be NO committed binary files of any kind in this +repository. Binary files are to be built using the respective platform-specific +build system, and are to not be committed anywhere in the first place. + +- The bootstrapping script should always run cleanly, with no further action +required from the user. + +- All repositories should be in their final usable state after running the +bootstrapping script, i.e. the committed makefiles should be usable. + +- Any patches to a library should be kept minimal. Larger changes to a +third-party code base are discouraged. + +- If we really have to patch a library, e.g. to fix a bug or to silence a +warning, let's try to get our patch accepted upstream. If we then update to a +newer version of the library, we won't need a patch file anymore. + +- All patch files should adhere to the naming + _.patch +where is the hash of either the archive file or the repository. +This enables to keep multiple patches for the same library, in case different +project need different versions of a library (via using local bootstrapping +files). + +- The canonical bootstrapping JSON file should always contain the respective +latest version of each library that is used across our codebase. If a library +is updated, it should be updated to the respective latest version available. + +- We should be keeping the contained library versions reasonably up-to-date. + + +License +------- +See the LICENSE file + +Bug reports, comments +--------------------- + +Should go to omar@blippar.com. diff --git a/compile_commands.json b/compile_commands.json new file mode 100644 index 0000000..88a42c3 --- /dev/null +++ b/compile_commands.json @@ -0,0 +1,1922 @@ +[ +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ldrutils/. -std=gnu++17 -mavx2 -o deps/src/lightweightvk/third-party/deps/src/ldrutils/CMakeFiles/LUtils.dir/lmath/Matrix.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ldrutils/lmath/Matrix.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ldrutils/lmath/Matrix.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/ldrutils/CMakeFiles/LUtils.dir/lmath/Matrix.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ldrutils/. -std=gnu++17 -mavx2 -o deps/src/lightweightvk/third-party/deps/src/ldrutils/CMakeFiles/LUtils.dir/lutils/CVar.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ldrutils/lutils/CVar.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ldrutils/lutils/CVar.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/ldrutils/CMakeFiles/LUtils.dir/lutils/CVar.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ldrutils/. -std=gnu++17 -mavx2 -o deps/src/lightweightvk/third-party/deps/src/ldrutils/CMakeFiles/LUtils.dir/lutils/DynamicLibrary.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ldrutils/lutils/DynamicLibrary.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ldrutils/lutils/DynamicLibrary.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/ldrutils/CMakeFiles/LUtils.dir/lutils/DynamicLibrary.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ldrutils/. -std=gnu++17 -mavx2 -o deps/src/lightweightvk/third-party/deps/src/ldrutils/CMakeFiles/LUtils.dir/lutils/Ptr.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ldrutils/lutils/Ptr.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ldrutils/lutils/Ptr.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/ldrutils/CMakeFiles/LUtils.dir/lutils/Ptr.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=1 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DBASISU_SUPPORT_OPENCL=0 -DBASISU_SUPPORT_SSE=1 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_FEATURE_WRITE -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -std=gnu++11 -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -msse4.1 -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/basis_transcode.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basis_transcode.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basis_transcode.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/basis_transcode.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=1 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DBASISU_SUPPORT_OPENCL=0 -DBASISU_SUPPORT_SSE=1 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_FEATURE_WRITE -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -std=gnu++11 -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -msse4.1 -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/miniz_wrapper.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/miniz_wrapper.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/miniz_wrapper.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/miniz_wrapper.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=1 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DBASISU_SUPPORT_OPENCL=0 -DBASISU_SUPPORT_SSE=1 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_FEATURE_WRITE -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -std=gnu++11 -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -msse4.1 -Wno-sign-compare -Wno-unused-function -Wno-unused-variable -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/basisu/transcoder/basisu_transcoder.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder/basisu_transcoder.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder/basisu_transcoder.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/basisu/transcoder/basisu_transcoder.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=1 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DBASISU_SUPPORT_OPENCL=0 -DBASISU_SUPPORT_SSE=1 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_FEATURE_WRITE -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -msse4.1 -Wno-unused-function -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/basisu/zstd/zstd.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd/zstd.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd/zstd.c", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/basisu/zstd/zstd.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=1 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DBASISU_SUPPORT_OPENCL=0 -DBASISU_SUPPORT_SSE=1 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_FEATURE_WRITE -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -msse4.1 -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/checkheader.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/checkheader.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/checkheader.c", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/checkheader.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=1 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DBASISU_SUPPORT_OPENCL=0 -DBASISU_SUPPORT_SSE=1 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_FEATURE_WRITE -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -msse4.1 -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/dfdutils/createdfd.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/dfdutils/createdfd.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/dfdutils/createdfd.c", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/dfdutils/createdfd.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=1 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DBASISU_SUPPORT_OPENCL=0 -DBASISU_SUPPORT_SSE=1 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_FEATURE_WRITE -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -msse4.1 -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/dfdutils/colourspaces.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/dfdutils/colourspaces.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/dfdutils/colourspaces.c", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/dfdutils/colourspaces.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=1 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DBASISU_SUPPORT_OPENCL=0 -DBASISU_SUPPORT_SSE=1 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_FEATURE_WRITE -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -msse4.1 -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/dfdutils/interpretdfd.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/dfdutils/interpretdfd.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/dfdutils/interpretdfd.c", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/dfdutils/interpretdfd.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=1 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DBASISU_SUPPORT_OPENCL=0 -DBASISU_SUPPORT_SSE=1 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_FEATURE_WRITE -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -msse4.1 -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/dfdutils/printdfd.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/dfdutils/printdfd.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/dfdutils/printdfd.c", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/dfdutils/printdfd.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=1 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DBASISU_SUPPORT_OPENCL=0 -DBASISU_SUPPORT_SSE=1 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_FEATURE_WRITE -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -msse4.1 -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/dfdutils/queries.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/dfdutils/queries.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/dfdutils/queries.c", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/dfdutils/queries.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=1 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DBASISU_SUPPORT_OPENCL=0 -DBASISU_SUPPORT_SSE=1 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_FEATURE_WRITE -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -msse4.1 -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/dfdutils/vk2dfd.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/dfdutils/vk2dfd.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/dfdutils/vk2dfd.c", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/dfdutils/vk2dfd.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=1 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DBASISU_SUPPORT_OPENCL=0 -DBASISU_SUPPORT_SSE=1 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_FEATURE_WRITE -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -std=gnu++11 -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -msse4.1 -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/etcdec.cxx.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/etcdec.cxx", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/etcdec.cxx", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/etcdec.cxx.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=1 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DBASISU_SUPPORT_OPENCL=0 -DBASISU_SUPPORT_SSE=1 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_FEATURE_WRITE -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -std=gnu++11 -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -msse4.1 -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/etcunpack.cxx.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/etcunpack.cxx", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/etcunpack.cxx", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/etcunpack.cxx.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=1 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DBASISU_SUPPORT_OPENCL=0 -DBASISU_SUPPORT_SSE=1 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_FEATURE_WRITE -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -msse4.1 -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/filestream.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/filestream.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/filestream.c", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/filestream.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=1 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DBASISU_SUPPORT_OPENCL=0 -DBASISU_SUPPORT_SSE=1 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_FEATURE_WRITE -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -msse4.1 -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/hashlist.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/hashlist.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/hashlist.c", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/hashlist.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=1 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DBASISU_SUPPORT_OPENCL=0 -DBASISU_SUPPORT_SSE=1 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_FEATURE_WRITE -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -msse4.1 -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/info.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/info.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/info.c", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/info.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=1 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DBASISU_SUPPORT_OPENCL=0 -DBASISU_SUPPORT_SSE=1 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_FEATURE_WRITE -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -msse4.1 -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/memstream.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/memstream.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/memstream.c", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/memstream.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=1 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DBASISU_SUPPORT_OPENCL=0 -DBASISU_SUPPORT_SSE=1 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_FEATURE_WRITE -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -msse4.1 -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/strings.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/strings.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/strings.c", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/strings.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=1 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DBASISU_SUPPORT_OPENCL=0 -DBASISU_SUPPORT_SSE=1 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_FEATURE_WRITE -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -msse4.1 -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/swap.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/swap.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/swap.c", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/swap.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=1 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DBASISU_SUPPORT_OPENCL=0 -DBASISU_SUPPORT_SSE=1 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_FEATURE_WRITE -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -msse4.1 -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/texture.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/texture.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/texture.c", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/texture.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=1 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DBASISU_SUPPORT_OPENCL=0 -DBASISU_SUPPORT_SSE=1 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_FEATURE_WRITE -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -msse4.1 -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/texture2.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/texture2.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/texture2.c", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/texture2.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=1 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DBASISU_SUPPORT_OPENCL=0 -DBASISU_SUPPORT_SSE=1 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_FEATURE_WRITE -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -msse4.1 -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/vkformat_check.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/vkformat_check.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/vkformat_check.c", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/vkformat_check.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=1 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DBASISU_SUPPORT_OPENCL=0 -DBASISU_SUPPORT_SSE=1 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_FEATURE_WRITE -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -msse4.1 -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/vkformat_str.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/vkformat_str.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/vkformat_str.c", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/vkformat_str.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=1 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DBASISU_SUPPORT_OPENCL=0 -DBASISU_SUPPORT_SSE=1 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_FEATURE_WRITE -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -msse4.1 -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/vkformat_typesize.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/vkformat_typesize.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/vkformat_typesize.c", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/vkformat_typesize.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=1 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DBASISU_SUPPORT_OPENCL=0 -DBASISU_SUPPORT_SSE=1 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_FEATURE_WRITE -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -msse4.1 -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/texture1.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/texture1.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/texture1.c", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/texture1.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=1 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DBASISU_SUPPORT_OPENCL=0 -DBASISU_SUPPORT_SSE=1 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_FEATURE_WRITE -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -std=gnu++11 -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -msse4.1 -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/basis_encode.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basis_encode.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basis_encode.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/basis_encode.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=1 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DBASISU_SUPPORT_OPENCL=0 -DBASISU_SUPPORT_SSE=1 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_FEATURE_WRITE -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -std=gnu++11 -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -msse4.1 -fvisibility=hidden -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/astc_encode.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc_encode.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc_encode.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/astc_encode.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=1 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DBASISU_SUPPORT_OPENCL=0 -DBASISU_SUPPORT_SSE=1 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_FEATURE_WRITE -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -std=gnu++11 -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -msse4.1 -Wno-sign-compare -Wno-unused-variable -Wno-unused-parameter -Wno-deprecated-copy-with-user-provided-copy -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/basisu/encoder/basisu_backend.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/encoder/basisu_backend.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/encoder/basisu_backend.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/basisu/encoder/basisu_backend.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=1 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DBASISU_SUPPORT_OPENCL=0 -DBASISU_SUPPORT_SSE=1 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_FEATURE_WRITE -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -std=gnu++11 -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -msse4.1 -Wno-sign-compare -Wno-unused-variable -Wno-unused-parameter -Wno-deprecated-copy-with-user-provided-copy -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/basisu/encoder/basisu_basis_file.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/encoder/basisu_basis_file.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/encoder/basisu_basis_file.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/basisu/encoder/basisu_basis_file.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=1 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DBASISU_SUPPORT_OPENCL=0 -DBASISU_SUPPORT_SSE=1 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_FEATURE_WRITE -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -std=gnu++11 -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -msse4.1 -Wno-sign-compare -Wno-unused-variable -Wno-unused-parameter -Wno-deprecated-copy-with-user-provided-copy -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/basisu/encoder/basisu_bc7enc.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/encoder/basisu_bc7enc.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/encoder/basisu_bc7enc.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/basisu/encoder/basisu_bc7enc.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=1 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DBASISU_SUPPORT_OPENCL=0 -DBASISU_SUPPORT_SSE=1 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_FEATURE_WRITE -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -std=gnu++11 -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -msse4.1 -Wno-sign-compare -Wno-unused-variable -Wno-unused-parameter -Wno-deprecated-copy-with-user-provided-copy -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/basisu/encoder/basisu_comp.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/encoder/basisu_comp.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/encoder/basisu_comp.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/basisu/encoder/basisu_comp.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=1 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DBASISU_SUPPORT_OPENCL=0 -DBASISU_SUPPORT_SSE=1 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_FEATURE_WRITE -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -std=gnu++11 -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -msse4.1 -Wno-sign-compare -Wno-unused-variable -Wno-unused-parameter -Wno-deprecated-copy-with-user-provided-copy -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/basisu/encoder/basisu_enc.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/encoder/basisu_enc.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/encoder/basisu_enc.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/basisu/encoder/basisu_enc.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=1 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DBASISU_SUPPORT_OPENCL=0 -DBASISU_SUPPORT_SSE=1 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_FEATURE_WRITE -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -std=gnu++11 -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -msse4.1 -Wno-sign-compare -Wno-unused-variable -Wno-unused-parameter -Wno-deprecated-copy-with-user-provided-copy -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/basisu/encoder/basisu_etc.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/encoder/basisu_etc.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/encoder/basisu_etc.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/basisu/encoder/basisu_etc.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=1 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DBASISU_SUPPORT_OPENCL=0 -DBASISU_SUPPORT_SSE=1 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_FEATURE_WRITE -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -std=gnu++11 -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -msse4.1 -Wno-sign-compare -Wno-unused-variable -Wno-unused-parameter -Wno-deprecated-copy-with-user-provided-copy -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/basisu/encoder/basisu_frontend.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/encoder/basisu_frontend.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/encoder/basisu_frontend.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/basisu/encoder/basisu_frontend.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=1 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DBASISU_SUPPORT_OPENCL=0 -DBASISU_SUPPORT_SSE=1 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_FEATURE_WRITE -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -std=gnu++11 -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -msse4.1 -Wno-sign-compare -Wno-unused-variable -Wno-unused-parameter -Wno-deprecated-copy-with-user-provided-copy -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/basisu/encoder/basisu_gpu_texture.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/encoder/basisu_gpu_texture.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/encoder/basisu_gpu_texture.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/basisu/encoder/basisu_gpu_texture.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=1 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DBASISU_SUPPORT_OPENCL=0 -DBASISU_SUPPORT_SSE=1 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_FEATURE_WRITE -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -std=gnu++11 -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -msse4.1 -Wno-sign-compare -Wno-unused-variable -Wno-unused-parameter -Wno-deprecated-copy-with-user-provided-copy -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/basisu/encoder/basisu_kernels_sse.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/encoder/basisu_kernels_sse.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/encoder/basisu_kernels_sse.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/basisu/encoder/basisu_kernels_sse.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=1 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DBASISU_SUPPORT_OPENCL=0 -DBASISU_SUPPORT_SSE=1 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_FEATURE_WRITE -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -std=gnu++11 -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -msse4.1 -Wno-sign-compare -Wno-unused-variable -Wno-unused-parameter -Wno-deprecated-copy-with-user-provided-copy -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/basisu/encoder/basisu_opencl.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/encoder/basisu_opencl.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/encoder/basisu_opencl.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/basisu/encoder/basisu_opencl.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=1 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DBASISU_SUPPORT_OPENCL=0 -DBASISU_SUPPORT_SSE=1 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_FEATURE_WRITE -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -std=gnu++11 -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -msse4.1 -Wno-sign-compare -Wno-unused-variable -Wno-unused-parameter -Wno-deprecated-copy-with-user-provided-copy -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/basisu/encoder/basisu_pvrtc1_4.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/encoder/basisu_pvrtc1_4.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/encoder/basisu_pvrtc1_4.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/basisu/encoder/basisu_pvrtc1_4.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=1 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DBASISU_SUPPORT_OPENCL=0 -DBASISU_SUPPORT_SSE=1 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_FEATURE_WRITE -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -std=gnu++11 -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -msse4.1 -Wno-sign-compare -Wno-unused-variable -Wno-unused-parameter -Wno-deprecated-copy-with-user-provided-copy -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/basisu/encoder/basisu_resample_filters.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/encoder/basisu_resample_filters.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/encoder/basisu_resample_filters.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/basisu/encoder/basisu_resample_filters.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=1 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DBASISU_SUPPORT_OPENCL=0 -DBASISU_SUPPORT_SSE=1 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_FEATURE_WRITE -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -std=gnu++11 -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -msse4.1 -Wno-sign-compare -Wno-unused-variable -Wno-unused-parameter -Wno-deprecated-copy-with-user-provided-copy -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/basisu/encoder/basisu_resampler.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/encoder/basisu_resampler.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/encoder/basisu_resampler.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/basisu/encoder/basisu_resampler.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=1 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DBASISU_SUPPORT_OPENCL=0 -DBASISU_SUPPORT_SSE=1 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_FEATURE_WRITE -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -std=gnu++11 -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -msse4.1 -Wno-sign-compare -Wno-unused-variable -Wno-unused-parameter -Wno-deprecated-copy-with-user-provided-copy -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/basisu/encoder/basisu_ssim.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/encoder/basisu_ssim.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/encoder/basisu_ssim.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/basisu/encoder/basisu_ssim.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=1 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DBASISU_SUPPORT_OPENCL=0 -DBASISU_SUPPORT_SSE=1 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_FEATURE_WRITE -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -std=gnu++11 -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -msse4.1 -Wno-sign-compare -Wno-unused-variable -Wno-unused-parameter -Wno-deprecated-copy-with-user-provided-copy -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/basisu/encoder/basisu_uastc_enc.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/encoder/basisu_uastc_enc.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/encoder/basisu_uastc_enc.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/basisu/encoder/basisu_uastc_enc.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=1 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DBASISU_SUPPORT_OPENCL=0 -DBASISU_SUPPORT_SSE=1 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_FEATURE_WRITE -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -msse4.1 -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/writer1.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/writer1.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/writer1.c", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/writer1.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=1 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DBASISU_SUPPORT_OPENCL=0 -DBASISU_SUPPORT_SSE=1 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_FEATURE_WRITE -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -msse4.1 -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/writer2.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/writer2.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/writer2.c", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx.dir/lib/writer2.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=0 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -std=gnu++11 -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx_read.dir/lib/basis_transcode.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basis_transcode.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basis_transcode.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx_read.dir/lib/basis_transcode.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=0 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -std=gnu++11 -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx_read.dir/lib/miniz_wrapper.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/miniz_wrapper.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/miniz_wrapper.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx_read.dir/lib/miniz_wrapper.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=0 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -std=gnu++11 -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -Wno-sign-compare -Wno-unused-function -Wno-unused-variable -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx_read.dir/lib/basisu/transcoder/basisu_transcoder.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder/basisu_transcoder.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder/basisu_transcoder.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx_read.dir/lib/basisu/transcoder/basisu_transcoder.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=0 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -Wno-unused-function -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx_read.dir/lib/basisu/zstd/zstd.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd/zstd.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd/zstd.c", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx_read.dir/lib/basisu/zstd/zstd.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=0 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx_read.dir/lib/checkheader.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/checkheader.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/checkheader.c", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx_read.dir/lib/checkheader.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=0 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx_read.dir/lib/dfdutils/createdfd.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/dfdutils/createdfd.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/dfdutils/createdfd.c", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx_read.dir/lib/dfdutils/createdfd.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=0 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx_read.dir/lib/dfdutils/colourspaces.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/dfdutils/colourspaces.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/dfdutils/colourspaces.c", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx_read.dir/lib/dfdutils/colourspaces.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=0 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx_read.dir/lib/dfdutils/interpretdfd.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/dfdutils/interpretdfd.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/dfdutils/interpretdfd.c", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx_read.dir/lib/dfdutils/interpretdfd.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=0 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx_read.dir/lib/dfdutils/printdfd.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/dfdutils/printdfd.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/dfdutils/printdfd.c", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx_read.dir/lib/dfdutils/printdfd.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=0 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx_read.dir/lib/dfdutils/queries.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/dfdutils/queries.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/dfdutils/queries.c", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx_read.dir/lib/dfdutils/queries.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=0 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx_read.dir/lib/dfdutils/vk2dfd.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/dfdutils/vk2dfd.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/dfdutils/vk2dfd.c", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx_read.dir/lib/dfdutils/vk2dfd.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=0 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -std=gnu++11 -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx_read.dir/lib/etcdec.cxx.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/etcdec.cxx", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/etcdec.cxx", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx_read.dir/lib/etcdec.cxx.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=0 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -std=gnu++11 -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx_read.dir/lib/etcunpack.cxx.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/etcunpack.cxx", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/etcunpack.cxx", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx_read.dir/lib/etcunpack.cxx.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=0 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx_read.dir/lib/filestream.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/filestream.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/filestream.c", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx_read.dir/lib/filestream.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=0 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx_read.dir/lib/hashlist.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/hashlist.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/hashlist.c", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx_read.dir/lib/hashlist.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=0 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx_read.dir/lib/info.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/info.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/info.c", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx_read.dir/lib/info.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=0 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx_read.dir/lib/memstream.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/memstream.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/memstream.c", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx_read.dir/lib/memstream.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=0 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx_read.dir/lib/strings.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/strings.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/strings.c", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx_read.dir/lib/strings.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=0 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx_read.dir/lib/swap.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/swap.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/swap.c", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx_read.dir/lib/swap.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=0 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx_read.dir/lib/texture.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/texture.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/texture.c", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx_read.dir/lib/texture.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=0 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx_read.dir/lib/texture2.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/texture2.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/texture2.c", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx_read.dir/lib/texture2.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=0 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx_read.dir/lib/vkformat_check.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/vkformat_check.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/vkformat_check.c", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx_read.dir/lib/vkformat_check.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=0 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx_read.dir/lib/vkformat_str.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/vkformat_str.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/vkformat_str.c", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx_read.dir/lib/vkformat_str.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=0 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx_read.dir/lib/vkformat_typesize.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/vkformat_typesize.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/vkformat_typesize.c", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx_read.dir/lib/vkformat_typesize.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DBASISD_SUPPORT_FXT1=0 -DBASISD_SUPPORT_KTX2=0 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_OMIT_VULKAN=1 -DLIBKTX -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -Wall -Wextra -O3 -Wno-nested-anon-types -Wno-gnu-anonymous-struct -Wno-pedantic -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx_read.dir/lib/texture1.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/texture1.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/texture1.c", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/ktx_read.dir/lib/texture1.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -fvisibility=hidden -Wall -Wextra -O3 -o deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/objUtil.dir/utils/argparser.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils/argparser.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils/argparser.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/CMakeFiles/objUtil.dir/utils/argparser.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DBASISD_SUPPORT_KTX2=0 -DBASISD_SUPPORT_KTX2_ZSTD=0 -DKHRONOS_STATIC -DKTX_BASISU_C_BINDINGS -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_FEATURE_WRITE -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/interface/basisu_c_binding/inc -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/transcoder -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu/zstd -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/utils -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/other_include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/basisu -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source -Wall -Wextra -O3 -o deps/src/lightweightvk/third-party/deps/src/ktx-software/interface/basisu_c_binding/CMakeFiles/obj_basisu_cbind.dir/src/basisu_c_binding.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/interface/basisu_c_binding/src/basisu_c_binding.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/interface/basisu_c_binding/src/basisu_c_binding.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/interface/basisu_c_binding/CMakeFiles/obj_basisu_cbind.dir/src/basisu_c_binding.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASTCENC_AVX=2 -DASTCENC_F16C=1 -DASTCENC_NEON=0 -DASTCENC_POPCNT=1 -DASTCENC_SSE=41 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source -std=c++14 -fPIC -Wall -Wextra -O3 -pthread -Wpedantic -Werror -Wshadow -Wdouble-promotion -Wdocumentation -Wno-unknown-warning-option -Wno-c++98-compat-pedantic -Wno-c++98-c++11-compat-pedantic -Wno-float-equal -Wno-deprecated-declarations -Wno-atomic-implicit-seq-cst -Wno-cast-align -Wno-sign-conversion -Wno-implicit-int-conversion -Wno-shift-sign-overflow -Wno-format-nonliteral -Wno-reserved-identifier -Wno-cast-function-type -gdwarf-4 -ffp-model=precise -ffp-contract=off -mavx2 -mpopcnt -mf16c -Wno-unused-command-line-argument -o deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/CMakeFiles/astcenc-avx2-static.dir/astcenc_averages_and_directions.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/astcenc_averages_and_directions.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/astcenc_averages_and_directions.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/CMakeFiles/astcenc-avx2-static.dir/astcenc_averages_and_directions.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASTCENC_AVX=2 -DASTCENC_F16C=1 -DASTCENC_NEON=0 -DASTCENC_POPCNT=1 -DASTCENC_SSE=41 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source -std=c++14 -fPIC -Wall -Wextra -O3 -pthread -Wpedantic -Werror -Wshadow -Wdouble-promotion -Wdocumentation -Wno-unknown-warning-option -Wno-c++98-compat-pedantic -Wno-c++98-c++11-compat-pedantic -Wno-float-equal -Wno-deprecated-declarations -Wno-atomic-implicit-seq-cst -Wno-cast-align -Wno-sign-conversion -Wno-implicit-int-conversion -Wno-shift-sign-overflow -Wno-format-nonliteral -Wno-reserved-identifier -Wno-cast-function-type -gdwarf-4 -ffp-model=precise -ffp-contract=off -mavx2 -mpopcnt -mf16c -Wno-unused-command-line-argument -o deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/CMakeFiles/astcenc-avx2-static.dir/astcenc_block_sizes.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/astcenc_block_sizes.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/astcenc_block_sizes.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/CMakeFiles/astcenc-avx2-static.dir/astcenc_block_sizes.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASTCENC_AVX=2 -DASTCENC_F16C=1 -DASTCENC_NEON=0 -DASTCENC_POPCNT=1 -DASTCENC_SSE=41 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source -std=c++14 -fPIC -Wall -Wextra -O3 -pthread -Wpedantic -Werror -Wshadow -Wdouble-promotion -Wdocumentation -Wno-unknown-warning-option -Wno-c++98-compat-pedantic -Wno-c++98-c++11-compat-pedantic -Wno-float-equal -Wno-deprecated-declarations -Wno-atomic-implicit-seq-cst -Wno-cast-align -Wno-sign-conversion -Wno-implicit-int-conversion -Wno-shift-sign-overflow -Wno-format-nonliteral -Wno-reserved-identifier -Wno-cast-function-type -gdwarf-4 -ffp-model=precise -ffp-contract=off -mavx2 -mpopcnt -mf16c -Wno-unused-command-line-argument -o deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/CMakeFiles/astcenc-avx2-static.dir/astcenc_color_quantize.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/astcenc_color_quantize.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/astcenc_color_quantize.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/CMakeFiles/astcenc-avx2-static.dir/astcenc_color_quantize.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASTCENC_AVX=2 -DASTCENC_F16C=1 -DASTCENC_NEON=0 -DASTCENC_POPCNT=1 -DASTCENC_SSE=41 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source -std=c++14 -fPIC -Wall -Wextra -O3 -pthread -Wpedantic -Werror -Wshadow -Wdouble-promotion -Wdocumentation -Wno-unknown-warning-option -Wno-c++98-compat-pedantic -Wno-c++98-c++11-compat-pedantic -Wno-float-equal -Wno-deprecated-declarations -Wno-atomic-implicit-seq-cst -Wno-cast-align -Wno-sign-conversion -Wno-implicit-int-conversion -Wno-shift-sign-overflow -Wno-format-nonliteral -Wno-reserved-identifier -Wno-cast-function-type -gdwarf-4 -ffp-model=precise -ffp-contract=off -mavx2 -mpopcnt -mf16c -Wno-unused-command-line-argument -o deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/CMakeFiles/astcenc-avx2-static.dir/astcenc_color_unquantize.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/astcenc_color_unquantize.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/astcenc_color_unquantize.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/CMakeFiles/astcenc-avx2-static.dir/astcenc_color_unquantize.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASTCENC_AVX=2 -DASTCENC_F16C=1 -DASTCENC_NEON=0 -DASTCENC_POPCNT=1 -DASTCENC_SSE=41 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source -std=c++14 -fPIC -Wall -Wextra -O3 -pthread -Wpedantic -Werror -Wshadow -Wdouble-promotion -Wdocumentation -Wno-unknown-warning-option -Wno-c++98-compat-pedantic -Wno-c++98-c++11-compat-pedantic -Wno-float-equal -Wno-deprecated-declarations -Wno-atomic-implicit-seq-cst -Wno-cast-align -Wno-sign-conversion -Wno-implicit-int-conversion -Wno-shift-sign-overflow -Wno-format-nonliteral -Wno-reserved-identifier -Wno-cast-function-type -gdwarf-4 -ffp-model=precise -ffp-contract=off -mavx2 -mpopcnt -mf16c -Wno-unused-command-line-argument -o deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/CMakeFiles/astcenc-avx2-static.dir/astcenc_compress_symbolic.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/astcenc_compress_symbolic.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/astcenc_compress_symbolic.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/CMakeFiles/astcenc-avx2-static.dir/astcenc_compress_symbolic.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASTCENC_AVX=2 -DASTCENC_F16C=1 -DASTCENC_NEON=0 -DASTCENC_POPCNT=1 -DASTCENC_SSE=41 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source -std=c++14 -fPIC -Wall -Wextra -O3 -pthread -Wpedantic -Werror -Wshadow -Wdouble-promotion -Wdocumentation -Wno-unknown-warning-option -Wno-c++98-compat-pedantic -Wno-c++98-c++11-compat-pedantic -Wno-float-equal -Wno-deprecated-declarations -Wno-atomic-implicit-seq-cst -Wno-cast-align -Wno-sign-conversion -Wno-implicit-int-conversion -Wno-shift-sign-overflow -Wno-format-nonliteral -Wno-reserved-identifier -Wno-cast-function-type -gdwarf-4 -ffp-model=precise -ffp-contract=off -mavx2 -mpopcnt -mf16c -Wno-unused-command-line-argument -o deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/CMakeFiles/astcenc-avx2-static.dir/astcenc_compute_variance.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/astcenc_compute_variance.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/astcenc_compute_variance.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/CMakeFiles/astcenc-avx2-static.dir/astcenc_compute_variance.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASTCENC_AVX=2 -DASTCENC_F16C=1 -DASTCENC_NEON=0 -DASTCENC_POPCNT=1 -DASTCENC_SSE=41 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source -std=c++14 -fPIC -Wall -Wextra -O3 -pthread -Wpedantic -Werror -Wshadow -Wdouble-promotion -Wdocumentation -Wno-unknown-warning-option -Wno-c++98-compat-pedantic -Wno-c++98-c++11-compat-pedantic -Wno-float-equal -Wno-deprecated-declarations -Wno-atomic-implicit-seq-cst -Wno-cast-align -Wno-sign-conversion -Wno-implicit-int-conversion -Wno-shift-sign-overflow -Wno-format-nonliteral -Wno-reserved-identifier -Wno-cast-function-type -gdwarf-4 -ffp-model=precise -ffp-contract=off -mavx2 -mpopcnt -mf16c -Wno-unused-command-line-argument -o deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/CMakeFiles/astcenc-avx2-static.dir/astcenc_decompress_symbolic.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/astcenc_decompress_symbolic.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/astcenc_decompress_symbolic.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/CMakeFiles/astcenc-avx2-static.dir/astcenc_decompress_symbolic.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASTCENC_AVX=2 -DASTCENC_F16C=1 -DASTCENC_NEON=0 -DASTCENC_POPCNT=1 -DASTCENC_SSE=41 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source -std=c++14 -fPIC -Wall -Wextra -O3 -pthread -Wpedantic -Werror -Wshadow -Wdouble-promotion -Wdocumentation -Wno-unknown-warning-option -Wno-c++98-compat-pedantic -Wno-c++98-c++11-compat-pedantic -Wno-float-equal -Wno-deprecated-declarations -Wno-atomic-implicit-seq-cst -Wno-cast-align -Wno-sign-conversion -Wno-implicit-int-conversion -Wno-shift-sign-overflow -Wno-format-nonliteral -Wno-reserved-identifier -Wno-cast-function-type -gdwarf-4 -ffp-model=precise -ffp-contract=off -mavx2 -mpopcnt -mf16c -Wno-unused-command-line-argument -o deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/CMakeFiles/astcenc-avx2-static.dir/astcenc_diagnostic_trace.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/astcenc_diagnostic_trace.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/astcenc_diagnostic_trace.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/CMakeFiles/astcenc-avx2-static.dir/astcenc_diagnostic_trace.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASTCENC_AVX=2 -DASTCENC_F16C=1 -DASTCENC_NEON=0 -DASTCENC_POPCNT=1 -DASTCENC_SSE=41 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source -std=c++14 -fPIC -Wall -Wextra -O3 -pthread -Wpedantic -Werror -Wshadow -Wdouble-promotion -Wdocumentation -Wno-unknown-warning-option -Wno-c++98-compat-pedantic -Wno-c++98-c++11-compat-pedantic -Wno-float-equal -Wno-deprecated-declarations -Wno-atomic-implicit-seq-cst -Wno-cast-align -Wno-sign-conversion -Wno-implicit-int-conversion -Wno-shift-sign-overflow -Wno-format-nonliteral -Wno-reserved-identifier -Wno-cast-function-type -gdwarf-4 -ffp-model=precise -ffp-contract=off -mavx2 -mpopcnt -mf16c -Wno-unused-command-line-argument -o deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/CMakeFiles/astcenc-avx2-static.dir/astcenc_entry.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/astcenc_entry.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/astcenc_entry.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/CMakeFiles/astcenc-avx2-static.dir/astcenc_entry.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASTCENC_AVX=2 -DASTCENC_F16C=1 -DASTCENC_NEON=0 -DASTCENC_POPCNT=1 -DASTCENC_SSE=41 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source -std=c++14 -fPIC -Wall -Wextra -O3 -pthread -Wpedantic -Werror -Wshadow -Wdouble-promotion -Wdocumentation -Wno-unknown-warning-option -Wno-c++98-compat-pedantic -Wno-c++98-c++11-compat-pedantic -Wno-float-equal -Wno-deprecated-declarations -Wno-atomic-implicit-seq-cst -Wno-cast-align -Wno-sign-conversion -Wno-implicit-int-conversion -Wno-shift-sign-overflow -Wno-format-nonliteral -Wno-reserved-identifier -Wno-cast-function-type -gdwarf-4 -ffp-model=precise -ffp-contract=off -mavx2 -mpopcnt -mf16c -Wno-unused-command-line-argument -o deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/CMakeFiles/astcenc-avx2-static.dir/astcenc_find_best_partitioning.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/astcenc_find_best_partitioning.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/astcenc_find_best_partitioning.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/CMakeFiles/astcenc-avx2-static.dir/astcenc_find_best_partitioning.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASTCENC_AVX=2 -DASTCENC_F16C=1 -DASTCENC_NEON=0 -DASTCENC_POPCNT=1 -DASTCENC_SSE=41 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source -std=c++14 -fPIC -Wall -Wextra -O3 -pthread -Wpedantic -Werror -Wshadow -Wdouble-promotion -Wdocumentation -Wno-unknown-warning-option -Wno-c++98-compat-pedantic -Wno-c++98-c++11-compat-pedantic -Wno-float-equal -Wno-deprecated-declarations -Wno-atomic-implicit-seq-cst -Wno-cast-align -Wno-sign-conversion -Wno-implicit-int-conversion -Wno-shift-sign-overflow -Wno-format-nonliteral -Wno-reserved-identifier -Wno-cast-function-type -gdwarf-4 -ffp-model=precise -ffp-contract=off -mavx2 -mpopcnt -mf16c -Wno-unused-command-line-argument -o deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/CMakeFiles/astcenc-avx2-static.dir/astcenc_ideal_endpoints_and_weights.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/astcenc_ideal_endpoints_and_weights.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/astcenc_ideal_endpoints_and_weights.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/CMakeFiles/astcenc-avx2-static.dir/astcenc_ideal_endpoints_and_weights.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASTCENC_AVX=2 -DASTCENC_F16C=1 -DASTCENC_NEON=0 -DASTCENC_POPCNT=1 -DASTCENC_SSE=41 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source -std=c++14 -fPIC -Wall -Wextra -O3 -pthread -Wpedantic -Werror -Wshadow -Wdouble-promotion -Wdocumentation -Wno-unknown-warning-option -Wno-c++98-compat-pedantic -Wno-c++98-c++11-compat-pedantic -Wno-float-equal -Wno-deprecated-declarations -Wno-atomic-implicit-seq-cst -Wno-cast-align -Wno-sign-conversion -Wno-implicit-int-conversion -Wno-shift-sign-overflow -Wno-format-nonliteral -Wno-reserved-identifier -Wno-cast-function-type -gdwarf-4 -ffp-model=precise -ffp-contract=off -mavx2 -mpopcnt -mf16c -Wno-unused-command-line-argument -o deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/CMakeFiles/astcenc-avx2-static.dir/astcenc_image.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/astcenc_image.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/astcenc_image.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/CMakeFiles/astcenc-avx2-static.dir/astcenc_image.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASTCENC_AVX=2 -DASTCENC_F16C=1 -DASTCENC_NEON=0 -DASTCENC_POPCNT=1 -DASTCENC_SSE=41 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source -std=c++14 -fPIC -Wall -Wextra -O3 -pthread -Wpedantic -Werror -Wshadow -Wdouble-promotion -Wdocumentation -Wno-unknown-warning-option -Wno-c++98-compat-pedantic -Wno-c++98-c++11-compat-pedantic -Wno-float-equal -Wno-deprecated-declarations -Wno-atomic-implicit-seq-cst -Wno-cast-align -Wno-sign-conversion -Wno-implicit-int-conversion -Wno-shift-sign-overflow -Wno-format-nonliteral -Wno-reserved-identifier -Wno-cast-function-type -gdwarf-4 -ffp-model=precise -ffp-contract=off -mavx2 -mpopcnt -mf16c -Wno-unused-command-line-argument -o deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/CMakeFiles/astcenc-avx2-static.dir/astcenc_integer_sequence.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/astcenc_integer_sequence.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/astcenc_integer_sequence.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/CMakeFiles/astcenc-avx2-static.dir/astcenc_integer_sequence.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASTCENC_AVX=2 -DASTCENC_F16C=1 -DASTCENC_NEON=0 -DASTCENC_POPCNT=1 -DASTCENC_SSE=41 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source -std=c++14 -fPIC -Wall -Wextra -O3 -pthread -Wpedantic -Werror -Wshadow -Wdouble-promotion -Wdocumentation -Wno-unknown-warning-option -Wno-c++98-compat-pedantic -Wno-c++98-c++11-compat-pedantic -Wno-float-equal -Wno-deprecated-declarations -Wno-atomic-implicit-seq-cst -Wno-cast-align -Wno-sign-conversion -Wno-implicit-int-conversion -Wno-shift-sign-overflow -Wno-format-nonliteral -Wno-reserved-identifier -Wno-cast-function-type -gdwarf-4 -ffp-model=precise -ffp-contract=off -mavx2 -mpopcnt -mf16c -Wno-unused-command-line-argument -o deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/CMakeFiles/astcenc-avx2-static.dir/astcenc_mathlib.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/astcenc_mathlib.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/astcenc_mathlib.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/CMakeFiles/astcenc-avx2-static.dir/astcenc_mathlib.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASTCENC_AVX=2 -DASTCENC_F16C=1 -DASTCENC_NEON=0 -DASTCENC_POPCNT=1 -DASTCENC_SSE=41 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source -std=c++14 -fPIC -Wall -Wextra -O3 -pthread -Wpedantic -Werror -Wshadow -Wdouble-promotion -Wdocumentation -Wno-unknown-warning-option -Wno-c++98-compat-pedantic -Wno-c++98-c++11-compat-pedantic -Wno-float-equal -Wno-deprecated-declarations -Wno-atomic-implicit-seq-cst -Wno-cast-align -Wno-sign-conversion -Wno-implicit-int-conversion -Wno-shift-sign-overflow -Wno-format-nonliteral -Wno-reserved-identifier -Wno-cast-function-type -gdwarf-4 -ffp-model=precise -ffp-contract=off -mavx2 -mpopcnt -mf16c -Wno-unused-command-line-argument -o deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/CMakeFiles/astcenc-avx2-static.dir/astcenc_mathlib_softfloat.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/astcenc_mathlib_softfloat.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/astcenc_mathlib_softfloat.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/CMakeFiles/astcenc-avx2-static.dir/astcenc_mathlib_softfloat.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASTCENC_AVX=2 -DASTCENC_F16C=1 -DASTCENC_NEON=0 -DASTCENC_POPCNT=1 -DASTCENC_SSE=41 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source -std=c++14 -fPIC -Wall -Wextra -O3 -pthread -Wpedantic -Werror -Wshadow -Wdouble-promotion -Wdocumentation -Wno-unknown-warning-option -Wno-c++98-compat-pedantic -Wno-c++98-c++11-compat-pedantic -Wno-float-equal -Wno-deprecated-declarations -Wno-atomic-implicit-seq-cst -Wno-cast-align -Wno-sign-conversion -Wno-implicit-int-conversion -Wno-shift-sign-overflow -Wno-format-nonliteral -Wno-reserved-identifier -Wno-cast-function-type -gdwarf-4 -ffp-model=precise -ffp-contract=off -mavx2 -mpopcnt -mf16c -Wno-unused-command-line-argument -o deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/CMakeFiles/astcenc-avx2-static.dir/astcenc_partition_tables.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/astcenc_partition_tables.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/astcenc_partition_tables.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/CMakeFiles/astcenc-avx2-static.dir/astcenc_partition_tables.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASTCENC_AVX=2 -DASTCENC_F16C=1 -DASTCENC_NEON=0 -DASTCENC_POPCNT=1 -DASTCENC_SSE=41 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source -std=c++14 -fPIC -Wall -Wextra -O3 -pthread -Wpedantic -Werror -Wshadow -Wdouble-promotion -Wdocumentation -Wno-unknown-warning-option -Wno-c++98-compat-pedantic -Wno-c++98-c++11-compat-pedantic -Wno-float-equal -Wno-deprecated-declarations -Wno-atomic-implicit-seq-cst -Wno-cast-align -Wno-sign-conversion -Wno-implicit-int-conversion -Wno-shift-sign-overflow -Wno-format-nonliteral -Wno-reserved-identifier -Wno-cast-function-type -gdwarf-4 -ffp-model=precise -ffp-contract=off -mavx2 -mpopcnt -mf16c -Wno-unused-command-line-argument -o deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/CMakeFiles/astcenc-avx2-static.dir/astcenc_percentile_tables.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/astcenc_percentile_tables.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/astcenc_percentile_tables.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/CMakeFiles/astcenc-avx2-static.dir/astcenc_percentile_tables.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASTCENC_AVX=2 -DASTCENC_F16C=1 -DASTCENC_NEON=0 -DASTCENC_POPCNT=1 -DASTCENC_SSE=41 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source -std=c++14 -fPIC -Wall -Wextra -O3 -pthread -Wpedantic -Werror -Wshadow -Wdouble-promotion -Wdocumentation -Wno-unknown-warning-option -Wno-c++98-compat-pedantic -Wno-c++98-c++11-compat-pedantic -Wno-float-equal -Wno-deprecated-declarations -Wno-atomic-implicit-seq-cst -Wno-cast-align -Wno-sign-conversion -Wno-implicit-int-conversion -Wno-shift-sign-overflow -Wno-format-nonliteral -Wno-reserved-identifier -Wno-cast-function-type -gdwarf-4 -ffp-model=precise -ffp-contract=off -mavx2 -mpopcnt -mf16c -Wno-unused-command-line-argument -o deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/CMakeFiles/astcenc-avx2-static.dir/astcenc_pick_best_endpoint_format.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/astcenc_pick_best_endpoint_format.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/astcenc_pick_best_endpoint_format.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/CMakeFiles/astcenc-avx2-static.dir/astcenc_pick_best_endpoint_format.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASTCENC_AVX=2 -DASTCENC_F16C=1 -DASTCENC_NEON=0 -DASTCENC_POPCNT=1 -DASTCENC_SSE=41 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source -std=c++14 -fPIC -Wall -Wextra -O3 -pthread -Wpedantic -Werror -Wshadow -Wdouble-promotion -Wdocumentation -Wno-unknown-warning-option -Wno-c++98-compat-pedantic -Wno-c++98-c++11-compat-pedantic -Wno-float-equal -Wno-deprecated-declarations -Wno-atomic-implicit-seq-cst -Wno-cast-align -Wno-sign-conversion -Wno-implicit-int-conversion -Wno-shift-sign-overflow -Wno-format-nonliteral -Wno-reserved-identifier -Wno-cast-function-type -gdwarf-4 -ffp-model=precise -ffp-contract=off -mavx2 -mpopcnt -mf16c -Wno-unused-command-line-argument -o deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/CMakeFiles/astcenc-avx2-static.dir/astcenc_quantization.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/astcenc_quantization.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/astcenc_quantization.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/CMakeFiles/astcenc-avx2-static.dir/astcenc_quantization.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASTCENC_AVX=2 -DASTCENC_F16C=1 -DASTCENC_NEON=0 -DASTCENC_POPCNT=1 -DASTCENC_SSE=41 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source -std=c++14 -fPIC -Wall -Wextra -O3 -pthread -Wpedantic -Werror -Wshadow -Wdouble-promotion -Wdocumentation -Wno-unknown-warning-option -Wno-c++98-compat-pedantic -Wno-c++98-c++11-compat-pedantic -Wno-float-equal -Wno-deprecated-declarations -Wno-atomic-implicit-seq-cst -Wno-cast-align -Wno-sign-conversion -Wno-implicit-int-conversion -Wno-shift-sign-overflow -Wno-format-nonliteral -Wno-reserved-identifier -Wno-cast-function-type -gdwarf-4 -ffp-model=precise -ffp-contract=off -mavx2 -mpopcnt -mf16c -Wno-unused-command-line-argument -o deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/CMakeFiles/astcenc-avx2-static.dir/astcenc_symbolic_physical.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/astcenc_symbolic_physical.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/astcenc_symbolic_physical.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/CMakeFiles/astcenc-avx2-static.dir/astcenc_symbolic_physical.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASTCENC_AVX=2 -DASTCENC_F16C=1 -DASTCENC_NEON=0 -DASTCENC_POPCNT=1 -DASTCENC_SSE=41 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source -std=c++14 -fPIC -Wall -Wextra -O3 -pthread -Wpedantic -Werror -Wshadow -Wdouble-promotion -Wdocumentation -Wno-unknown-warning-option -Wno-c++98-compat-pedantic -Wno-c++98-c++11-compat-pedantic -Wno-float-equal -Wno-deprecated-declarations -Wno-atomic-implicit-seq-cst -Wno-cast-align -Wno-sign-conversion -Wno-implicit-int-conversion -Wno-shift-sign-overflow -Wno-format-nonliteral -Wno-reserved-identifier -Wno-cast-function-type -gdwarf-4 -ffp-model=precise -ffp-contract=off -mavx2 -mpopcnt -mf16c -Wno-unused-command-line-argument -o deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/CMakeFiles/astcenc-avx2-static.dir/astcenc_weight_align.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/astcenc_weight_align.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/astcenc_weight_align.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/CMakeFiles/astcenc-avx2-static.dir/astcenc_weight_align.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASTCENC_AVX=2 -DASTCENC_F16C=1 -DASTCENC_NEON=0 -DASTCENC_POPCNT=1 -DASTCENC_SSE=41 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source -std=c++14 -fPIC -Wall -Wextra -O3 -pthread -Wpedantic -Werror -Wshadow -Wdouble-promotion -Wdocumentation -Wno-unknown-warning-option -Wno-c++98-compat-pedantic -Wno-c++98-c++11-compat-pedantic -Wno-float-equal -Wno-deprecated-declarations -Wno-atomic-implicit-seq-cst -Wno-cast-align -Wno-sign-conversion -Wno-implicit-int-conversion -Wno-shift-sign-overflow -Wno-format-nonliteral -Wno-reserved-identifier -Wno-cast-function-type -gdwarf-4 -ffp-model=precise -ffp-contract=off -mavx2 -mpopcnt -mf16c -Wno-unused-command-line-argument -o deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/CMakeFiles/astcenc-avx2-static.dir/astcenc_weight_quant_xfer_tables.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/astcenc_weight_quant_xfer_tables.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/astcenc_weight_quant_xfer_tables.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/ktx-software/lib/astc-encoder/Source/CMakeFiles/astcenc-avx2-static.dir/astcenc_weight_quant_xfer_tables.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DTRACY_ENABLE=1 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/stb -o deps/src/lightweightvk/CMakeFiles/LVKstb.dir/third-party/deps/patches/stb_impl/stb_image.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/patches/stb_impl/stb_image.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/patches/stb_impl/stb_image.c", + "output": "deps/src/lightweightvk/CMakeFiles/LVKstb.dir/third-party/deps/patches/stb_impl/stb_image.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DTRACY_ENABLE=1 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/stb -o deps/src/lightweightvk/CMakeFiles/LVKstb.dir/third-party/deps/patches/stb_impl/stb_image_resize2.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/patches/stb_impl/stb_image_resize2.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/patches/stb_impl/stb_image_resize2.c", + "output": "deps/src/lightweightvk/CMakeFiles/LVKstb.dir/third-party/deps/patches/stb_impl/stb_image_resize2.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DTRACY_ENABLE=1 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/stb -o deps/src/lightweightvk/CMakeFiles/LVKstb.dir/third-party/deps/patches/stb_impl/stb_image_write.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/patches/stb_impl/stb_image_write.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/patches/stb_impl/stb_image_write.c", + "output": "deps/src/lightweightvk/CMakeFiles/LVKstb.dir/third-party/deps/patches/stb_impl/stb_image_write.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DTRACY_ENABLE -DTRACY_ENABLE=1 -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/tracy/public -o deps/src/lightweightvk/third-party/deps/src/tracy/CMakeFiles/TracyClient.dir/public/TracyClient.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/tracy/public/TracyClient.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/tracy/public/TracyClient.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/tracy/CMakeFiles/TracyClient.dir/public/TracyClient.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DLVK_WITH_GLFW=1 -DLVK_WITH_IMPLOT=1 -DLVK_WITH_TRACY=1 -DLVK_WITH_TRACY_GPU=1 -DMINILOG_RAW_OUTPUT=1 -DTRACY_ENABLE -DTRACY_ENABLE=1 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/lvk -I/home/zoey/dev/vk-book/deps/src/lightweightvk -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/imgui -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/volk -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/vma/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/include -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/tracy/public -std=gnu++20 -o deps/src/lightweightvk/lvk/CMakeFiles/LVKLibrary.dir/HelpersImGui.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/lvk/HelpersImGui.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/lvk/HelpersImGui.cpp", + "output": "deps/src/lightweightvk/lvk/CMakeFiles/LVKLibrary.dir/HelpersImGui.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DLVK_WITH_GLFW=1 -DLVK_WITH_IMPLOT=1 -DLVK_WITH_TRACY=1 -DLVK_WITH_TRACY_GPU=1 -DMINILOG_RAW_OUTPUT=1 -DTRACY_ENABLE -DTRACY_ENABLE=1 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/lvk -I/home/zoey/dev/vk-book/deps/src/lightweightvk -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/imgui -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/volk -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/vma/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/include -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/tracy/public -std=gnu++20 -o deps/src/lightweightvk/lvk/CMakeFiles/LVKLibrary.dir/LVK.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/lvk/LVK.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/lvk/LVK.cpp", + "output": "deps/src/lightweightvk/lvk/CMakeFiles/LVKLibrary.dir/LVK.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DMINILOG_RAW_OUTPUT=1 -DTRACY_ENABLE=1 -DVK_USE_PLATFORM_XLIB_KHR=1 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/volk -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/vma/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/.. -I/home/zoey/dev/vk-book/build/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/SPIRV/.. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/SPIRV-Reflect -std=gnu++20 -Wno-nullability-completeness -o deps/src/lightweightvk/lvk/vulkan/CMakeFiles/LVKVulkan.dir/VulkanClasses.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/lvk/vulkan/VulkanClasses.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/lvk/vulkan/VulkanClasses.cpp", + "output": "deps/src/lightweightvk/lvk/vulkan/CMakeFiles/LVKVulkan.dir/VulkanClasses.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DMINILOG_RAW_OUTPUT=1 -DTRACY_ENABLE=1 -DVK_USE_PLATFORM_XLIB_KHR=1 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/volk -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/vma/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/.. -I/home/zoey/dev/vk-book/build/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/SPIRV/.. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/SPIRV-Reflect -std=gnu++20 -Wno-nullability-completeness -o deps/src/lightweightvk/lvk/vulkan/CMakeFiles/LVKVulkan.dir/VulkanUtils.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/lvk/vulkan/VulkanUtils.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/lvk/vulkan/VulkanUtils.cpp", + "output": "deps/src/lightweightvk/lvk/vulkan/CMakeFiles/LVKVulkan.dir/VulkanUtils.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DENABLE_OPT=0 -DENABLE_SPIRV -DGLSLANG_OSINCLUDE_UNIX -DTRACY_ENABLE=1 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/SPIRV/.. -g -std=c++17 -fPIC -DDEBUG -Wall -Wuninitialized -Wunused -Wunused-local-typedefs -Wimplicit-fallthrough -Wunused-parameter -Wunused-value -Wunused-variable -fno-rtti -fno-exceptions -o deps/src/lightweightvk/lvk/vulkan/glslang/SPIRV/CMakeFiles/SPIRV.dir/__/glslang/stub.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/stub.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/stub.cpp", + "output": "deps/src/lightweightvk/lvk/vulkan/glslang/SPIRV/CMakeFiles/SPIRV.dir/__/glslang/stub.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DENABLE_OPT=0 -DENABLE_SPIRV -DGLSLANG_OSINCLUDE_UNIX -DTRACY_ENABLE=1 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -g -std=c++17 -fPIC -DDEBUG -Wall -Wuninitialized -Wunused -Wunused-local-typedefs -Wimplicit-fallthrough -Wunused-parameter -Wunused-value -Wunused-variable -fno-rtti -fno-exceptions -o deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/GenericCodeGen.dir/stub.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/stub.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/stub.cpp", + "output": "deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/GenericCodeGen.dir/stub.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DENABLE_OPT=0 -DENABLE_SPIRV -DGLSLANG_OSINCLUDE_UNIX -DTRACY_ENABLE=1 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -g -std=c++17 -fPIC -DDEBUG -Wall -Wuninitialized -Wunused -Wunused-local-typedefs -Wimplicit-fallthrough -Wunused-parameter -Wunused-value -Wunused-variable -fno-rtti -fno-exceptions -o deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/MachineIndependent.dir/stub.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/stub.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/stub.cpp", + "output": "deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/MachineIndependent.dir/stub.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DENABLE_OPT=0 -DENABLE_SPIRV -DGLSLANG_OSINCLUDE_UNIX -DTRACY_ENABLE=1 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/.. -I/home/zoey/dev/vk-book/build/include -g -std=c++17 -fPIC -DDEBUG -Wall -Wuninitialized -Wunused -Wunused-local-typedefs -Wimplicit-fallthrough -Wunused-parameter -Wunused-value -Wunused-variable -fno-rtti -fno-exceptions -Winvalid-pch -fpch-instantiate-templates -Xclang -emit-pch -Xclang -include -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx -x c++-header -o deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx.pch -c /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx.cxx", + "file": "/home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx.cxx", + "output": "deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx.pch" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DENABLE_OPT=0 -DENABLE_SPIRV -DGLSLANG_OSINCLUDE_UNIX -DTRACY_ENABLE=1 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/.. -I/home/zoey/dev/vk-book/build/include -g -std=c++17 -fPIC -DDEBUG -Wall -Wuninitialized -Wunused -Wunused-local-typedefs -Wimplicit-fallthrough -Wunused-parameter -Wunused-value -Wunused-variable -fno-rtti -fno-exceptions -Winvalid-pch -Xclang -include-pch -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx.pch -Xclang -include -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx -o deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/CInterface/glslang_c_interface.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/CInterface/glslang_c_interface.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/CInterface/glslang_c_interface.cpp", + "output": "deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/CInterface/glslang_c_interface.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DENABLE_OPT=0 -DENABLE_SPIRV -DGLSLANG_OSINCLUDE_UNIX -DTRACY_ENABLE=1 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/.. -I/home/zoey/dev/vk-book/build/include -g -std=c++17 -fPIC -DDEBUG -Wall -Wuninitialized -Wunused -Wunused-local-typedefs -Wimplicit-fallthrough -Wunused-parameter -Wunused-value -Wunused-variable -fno-rtti -fno-exceptions -Winvalid-pch -Xclang -include-pch -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx.pch -Xclang -include -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx -o deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/GenericCodeGen/CodeGen.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/GenericCodeGen/CodeGen.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/GenericCodeGen/CodeGen.cpp", + "output": "deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/GenericCodeGen/CodeGen.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DENABLE_OPT=0 -DENABLE_SPIRV -DGLSLANG_OSINCLUDE_UNIX -DTRACY_ENABLE=1 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/.. -I/home/zoey/dev/vk-book/build/include -g -std=c++17 -fPIC -DDEBUG -Wall -Wuninitialized -Wunused -Wunused-local-typedefs -Wimplicit-fallthrough -Wunused-parameter -Wunused-value -Wunused-variable -fno-rtti -fno-exceptions -Winvalid-pch -Xclang -include-pch -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx.pch -Xclang -include -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx -o deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/GenericCodeGen/Link.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/GenericCodeGen/Link.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/GenericCodeGen/Link.cpp", + "output": "deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/GenericCodeGen/Link.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DENABLE_OPT=0 -DENABLE_SPIRV -DGLSLANG_OSINCLUDE_UNIX -DTRACY_ENABLE=1 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/.. -I/home/zoey/dev/vk-book/build/include -g -std=c++17 -fPIC -DDEBUG -Wall -Wuninitialized -Wunused -Wunused-local-typedefs -Wimplicit-fallthrough -Wunused-parameter -Wunused-value -Wunused-variable -fno-rtti -fno-exceptions -Winvalid-pch -Xclang -include-pch -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx.pch -Xclang -include -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx -o deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/OSDependent/Unix/ossource.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/OSDependent/Unix/ossource.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/OSDependent/Unix/ossource.cpp", + "output": "deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/OSDependent/Unix/ossource.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DENABLE_OPT=0 -DENABLE_SPIRV -DGLSLANG_OSINCLUDE_UNIX -DTRACY_ENABLE=1 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/.. -I/home/zoey/dev/vk-book/build/include -g -std=c++17 -fPIC -DDEBUG -Wall -Wuninitialized -Wunused -Wunused-local-typedefs -Wimplicit-fallthrough -Wunused-parameter -Wunused-value -Wunused-variable -fno-rtti -fno-exceptions -Wno-unused-but-set-variable -Winvalid-pch -Xclang -include-pch -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx.pch -Xclang -include -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx -o deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/glslang_tab.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/MachineIndependent/glslang_tab.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/MachineIndependent/glslang_tab.cpp", + "output": "deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/glslang_tab.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DENABLE_OPT=0 -DENABLE_SPIRV -DGLSLANG_OSINCLUDE_UNIX -DTRACY_ENABLE=1 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/.. -I/home/zoey/dev/vk-book/build/include -g -std=c++17 -fPIC -DDEBUG -Wall -Wuninitialized -Wunused -Wunused-local-typedefs -Wimplicit-fallthrough -Wunused-parameter -Wunused-value -Wunused-variable -fno-rtti -fno-exceptions -Winvalid-pch -Xclang -include-pch -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx.pch -Xclang -include -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx -o deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/attribute.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/MachineIndependent/attribute.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/MachineIndependent/attribute.cpp", + "output": "deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/attribute.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DENABLE_OPT=0 -DENABLE_SPIRV -DGLSLANG_OSINCLUDE_UNIX -DTRACY_ENABLE=1 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/.. -I/home/zoey/dev/vk-book/build/include -g -std=c++17 -fPIC -DDEBUG -Wall -Wuninitialized -Wunused -Wunused-local-typedefs -Wimplicit-fallthrough -Wunused-parameter -Wunused-value -Wunused-variable -fno-rtti -fno-exceptions -Winvalid-pch -Xclang -include-pch -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx.pch -Xclang -include -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx -o deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/Constant.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/MachineIndependent/Constant.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/MachineIndependent/Constant.cpp", + "output": "deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/Constant.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DENABLE_OPT=0 -DENABLE_SPIRV -DGLSLANG_OSINCLUDE_UNIX -DTRACY_ENABLE=1 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/.. -I/home/zoey/dev/vk-book/build/include -g -std=c++17 -fPIC -DDEBUG -Wall -Wuninitialized -Wunused -Wunused-local-typedefs -Wimplicit-fallthrough -Wunused-parameter -Wunused-value -Wunused-variable -fno-rtti -fno-exceptions -Winvalid-pch -Xclang -include-pch -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx.pch -Xclang -include -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx -o deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/iomapper.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/MachineIndependent/iomapper.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/MachineIndependent/iomapper.cpp", + "output": "deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/iomapper.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DENABLE_OPT=0 -DENABLE_SPIRV -DGLSLANG_OSINCLUDE_UNIX -DTRACY_ENABLE=1 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/.. -I/home/zoey/dev/vk-book/build/include -g -std=c++17 -fPIC -DDEBUG -Wall -Wuninitialized -Wunused -Wunused-local-typedefs -Wimplicit-fallthrough -Wunused-parameter -Wunused-value -Wunused-variable -fno-rtti -fno-exceptions -Winvalid-pch -Xclang -include-pch -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx.pch -Xclang -include -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx -o deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/InfoSink.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/MachineIndependent/InfoSink.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/MachineIndependent/InfoSink.cpp", + "output": "deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/InfoSink.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DENABLE_OPT=0 -DENABLE_SPIRV -DGLSLANG_OSINCLUDE_UNIX -DTRACY_ENABLE=1 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/.. -I/home/zoey/dev/vk-book/build/include -g -std=c++17 -fPIC -DDEBUG -Wall -Wuninitialized -Wunused -Wunused-local-typedefs -Wimplicit-fallthrough -Wunused-parameter -Wunused-value -Wunused-variable -fno-rtti -fno-exceptions -Winvalid-pch -Xclang -include-pch -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx.pch -Xclang -include -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx -o deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/Initialize.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/MachineIndependent/Initialize.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/MachineIndependent/Initialize.cpp", + "output": "deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/Initialize.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DENABLE_OPT=0 -DENABLE_SPIRV -DGLSLANG_OSINCLUDE_UNIX -DTRACY_ENABLE=1 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/.. -I/home/zoey/dev/vk-book/build/include -g -std=c++17 -fPIC -DDEBUG -Wall -Wuninitialized -Wunused -Wunused-local-typedefs -Wimplicit-fallthrough -Wunused-parameter -Wunused-value -Wunused-variable -fno-rtti -fno-exceptions -Winvalid-pch -Xclang -include-pch -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx.pch -Xclang -include -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx -o deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/IntermTraverse.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/MachineIndependent/IntermTraverse.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/MachineIndependent/IntermTraverse.cpp", + "output": "deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/IntermTraverse.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DENABLE_OPT=0 -DENABLE_SPIRV -DGLSLANG_OSINCLUDE_UNIX -DTRACY_ENABLE=1 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/.. -I/home/zoey/dev/vk-book/build/include -g -std=c++17 -fPIC -DDEBUG -Wall -Wuninitialized -Wunused -Wunused-local-typedefs -Wimplicit-fallthrough -Wunused-parameter -Wunused-value -Wunused-variable -fno-rtti -fno-exceptions -Winvalid-pch -Xclang -include-pch -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx.pch -Xclang -include -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx -o deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/Intermediate.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/MachineIndependent/Intermediate.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/MachineIndependent/Intermediate.cpp", + "output": "deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/Intermediate.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DENABLE_OPT=0 -DENABLE_SPIRV -DGLSLANG_OSINCLUDE_UNIX -DTRACY_ENABLE=1 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/.. -I/home/zoey/dev/vk-book/build/include -g -std=c++17 -fPIC -DDEBUG -Wall -Wuninitialized -Wunused -Wunused-local-typedefs -Wimplicit-fallthrough -Wunused-parameter -Wunused-value -Wunused-variable -fno-rtti -fno-exceptions -Winvalid-pch -Xclang -include-pch -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx.pch -Xclang -include -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx -o deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/ParseContextBase.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/MachineIndependent/ParseContextBase.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/MachineIndependent/ParseContextBase.cpp", + "output": "deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/ParseContextBase.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DENABLE_OPT=0 -DENABLE_SPIRV -DGLSLANG_OSINCLUDE_UNIX -DTRACY_ENABLE=1 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/.. -I/home/zoey/dev/vk-book/build/include -g -std=c++17 -fPIC -DDEBUG -Wall -Wuninitialized -Wunused -Wunused-local-typedefs -Wimplicit-fallthrough -Wunused-parameter -Wunused-value -Wunused-variable -fno-rtti -fno-exceptions -Winvalid-pch -Xclang -include-pch -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx.pch -Xclang -include -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx -o deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/ParseHelper.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/MachineIndependent/ParseHelper.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/MachineIndependent/ParseHelper.cpp", + "output": "deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/ParseHelper.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DENABLE_OPT=0 -DENABLE_SPIRV -DGLSLANG_OSINCLUDE_UNIX -DTRACY_ENABLE=1 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/.. -I/home/zoey/dev/vk-book/build/include -g -std=c++17 -fPIC -DDEBUG -Wall -Wuninitialized -Wunused -Wunused-local-typedefs -Wimplicit-fallthrough -Wunused-parameter -Wunused-value -Wunused-variable -fno-rtti -fno-exceptions -Winvalid-pch -Xclang -include-pch -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx.pch -Xclang -include -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx -o deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/PoolAlloc.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/MachineIndependent/PoolAlloc.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/MachineIndependent/PoolAlloc.cpp", + "output": "deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/PoolAlloc.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DENABLE_OPT=0 -DENABLE_SPIRV -DGLSLANG_OSINCLUDE_UNIX -DTRACY_ENABLE=1 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/.. -I/home/zoey/dev/vk-book/build/include -g -std=c++17 -fPIC -DDEBUG -Wall -Wuninitialized -Wunused -Wunused-local-typedefs -Wimplicit-fallthrough -Wunused-parameter -Wunused-value -Wunused-variable -fno-rtti -fno-exceptions -Winvalid-pch -Xclang -include-pch -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx.pch -Xclang -include -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx -o deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/RemoveTree.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/MachineIndependent/RemoveTree.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/MachineIndependent/RemoveTree.cpp", + "output": "deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/RemoveTree.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DENABLE_OPT=0 -DENABLE_SPIRV -DGLSLANG_OSINCLUDE_UNIX -DTRACY_ENABLE=1 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/.. -I/home/zoey/dev/vk-book/build/include -g -std=c++17 -fPIC -DDEBUG -Wall -Wuninitialized -Wunused -Wunused-local-typedefs -Wimplicit-fallthrough -Wunused-parameter -Wunused-value -Wunused-variable -fno-rtti -fno-exceptions -Winvalid-pch -Xclang -include-pch -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx.pch -Xclang -include -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx -o deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/Scan.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/MachineIndependent/Scan.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/MachineIndependent/Scan.cpp", + "output": "deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/Scan.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DENABLE_OPT=0 -DENABLE_SPIRV -DGLSLANG_OSINCLUDE_UNIX -DTRACY_ENABLE=1 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/.. -I/home/zoey/dev/vk-book/build/include -g -std=c++17 -fPIC -DDEBUG -Wall -Wuninitialized -Wunused -Wunused-local-typedefs -Wimplicit-fallthrough -Wunused-parameter -Wunused-value -Wunused-variable -fno-rtti -fno-exceptions -Winvalid-pch -Xclang -include-pch -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx.pch -Xclang -include -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx -o deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/ShaderLang.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/MachineIndependent/ShaderLang.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/MachineIndependent/ShaderLang.cpp", + "output": "deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/ShaderLang.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DENABLE_OPT=0 -DENABLE_SPIRV -DGLSLANG_OSINCLUDE_UNIX -DTRACY_ENABLE=1 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/.. -I/home/zoey/dev/vk-book/build/include -g -std=c++17 -fPIC -DDEBUG -Wall -Wuninitialized -Wunused -Wunused-local-typedefs -Wimplicit-fallthrough -Wunused-parameter -Wunused-value -Wunused-variable -fno-rtti -fno-exceptions -Winvalid-pch -Xclang -include-pch -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx.pch -Xclang -include -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx -o deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/SpirvIntrinsics.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/MachineIndependent/SpirvIntrinsics.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/MachineIndependent/SpirvIntrinsics.cpp", + "output": "deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/SpirvIntrinsics.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DENABLE_OPT=0 -DENABLE_SPIRV -DGLSLANG_OSINCLUDE_UNIX -DTRACY_ENABLE=1 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/.. -I/home/zoey/dev/vk-book/build/include -g -std=c++17 -fPIC -DDEBUG -Wall -Wuninitialized -Wunused -Wunused-local-typedefs -Wimplicit-fallthrough -Wunused-parameter -Wunused-value -Wunused-variable -fno-rtti -fno-exceptions -Winvalid-pch -Xclang -include-pch -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx.pch -Xclang -include -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx -o deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/SymbolTable.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/MachineIndependent/SymbolTable.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/MachineIndependent/SymbolTable.cpp", + "output": "deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/SymbolTable.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DENABLE_OPT=0 -DENABLE_SPIRV -DGLSLANG_OSINCLUDE_UNIX -DTRACY_ENABLE=1 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/.. -I/home/zoey/dev/vk-book/build/include -g -std=c++17 -fPIC -DDEBUG -Wall -Wuninitialized -Wunused -Wunused-local-typedefs -Wimplicit-fallthrough -Wunused-parameter -Wunused-value -Wunused-variable -fno-rtti -fno-exceptions -Winvalid-pch -Xclang -include-pch -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx.pch -Xclang -include -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx -o deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/Versions.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/MachineIndependent/Versions.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/MachineIndependent/Versions.cpp", + "output": "deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/Versions.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DENABLE_OPT=0 -DENABLE_SPIRV -DGLSLANG_OSINCLUDE_UNIX -DTRACY_ENABLE=1 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/.. -I/home/zoey/dev/vk-book/build/include -g -std=c++17 -fPIC -DDEBUG -Wall -Wuninitialized -Wunused -Wunused-local-typedefs -Wimplicit-fallthrough -Wunused-parameter -Wunused-value -Wunused-variable -fno-rtti -fno-exceptions -Winvalid-pch -Xclang -include-pch -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx.pch -Xclang -include -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx -o deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/intermOut.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/MachineIndependent/intermOut.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/MachineIndependent/intermOut.cpp", + "output": "deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/intermOut.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DENABLE_OPT=0 -DENABLE_SPIRV -DGLSLANG_OSINCLUDE_UNIX -DTRACY_ENABLE=1 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/.. -I/home/zoey/dev/vk-book/build/include -g -std=c++17 -fPIC -DDEBUG -Wall -Wuninitialized -Wunused -Wunused-local-typedefs -Wimplicit-fallthrough -Wunused-parameter -Wunused-value -Wunused-variable -fno-rtti -fno-exceptions -Winvalid-pch -Xclang -include-pch -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx.pch -Xclang -include -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx -o deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/limits.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/MachineIndependent/limits.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/MachineIndependent/limits.cpp", + "output": "deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/limits.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DENABLE_OPT=0 -DENABLE_SPIRV -DGLSLANG_OSINCLUDE_UNIX -DTRACY_ENABLE=1 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/.. -I/home/zoey/dev/vk-book/build/include -g -std=c++17 -fPIC -DDEBUG -Wall -Wuninitialized -Wunused -Wunused-local-typedefs -Wimplicit-fallthrough -Wunused-parameter -Wunused-value -Wunused-variable -fno-rtti -fno-exceptions -Winvalid-pch -Xclang -include-pch -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx.pch -Xclang -include -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx -o deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/linkValidate.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/MachineIndependent/linkValidate.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/MachineIndependent/linkValidate.cpp", + "output": "deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/linkValidate.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DENABLE_OPT=0 -DENABLE_SPIRV -DGLSLANG_OSINCLUDE_UNIX -DTRACY_ENABLE=1 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/.. -I/home/zoey/dev/vk-book/build/include -g -std=c++17 -fPIC -DDEBUG -Wall -Wuninitialized -Wunused -Wunused-local-typedefs -Wimplicit-fallthrough -Wunused-parameter -Wunused-value -Wunused-variable -fno-rtti -fno-exceptions -Winvalid-pch -Xclang -include-pch -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx.pch -Xclang -include -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx -o deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/parseConst.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/MachineIndependent/parseConst.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/MachineIndependent/parseConst.cpp", + "output": "deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/parseConst.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DENABLE_OPT=0 -DENABLE_SPIRV -DGLSLANG_OSINCLUDE_UNIX -DTRACY_ENABLE=1 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/.. -I/home/zoey/dev/vk-book/build/include -g -std=c++17 -fPIC -DDEBUG -Wall -Wuninitialized -Wunused -Wunused-local-typedefs -Wimplicit-fallthrough -Wunused-parameter -Wunused-value -Wunused-variable -fno-rtti -fno-exceptions -Winvalid-pch -Xclang -include-pch -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx.pch -Xclang -include -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx -o deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/reflection.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/MachineIndependent/reflection.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/MachineIndependent/reflection.cpp", + "output": "deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/reflection.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DENABLE_OPT=0 -DENABLE_SPIRV -DGLSLANG_OSINCLUDE_UNIX -DTRACY_ENABLE=1 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/.. -I/home/zoey/dev/vk-book/build/include -g -std=c++17 -fPIC -DDEBUG -Wall -Wuninitialized -Wunused -Wunused-local-typedefs -Wimplicit-fallthrough -Wunused-parameter -Wunused-value -Wunused-variable -fno-rtti -fno-exceptions -Winvalid-pch -Xclang -include-pch -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx.pch -Xclang -include -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx -o deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/preprocessor/Pp.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/MachineIndependent/preprocessor/Pp.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/MachineIndependent/preprocessor/Pp.cpp", + "output": "deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/preprocessor/Pp.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DENABLE_OPT=0 -DENABLE_SPIRV -DGLSLANG_OSINCLUDE_UNIX -DTRACY_ENABLE=1 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/.. -I/home/zoey/dev/vk-book/build/include -g -std=c++17 -fPIC -DDEBUG -Wall -Wuninitialized -Wunused -Wunused-local-typedefs -Wimplicit-fallthrough -Wunused-parameter -Wunused-value -Wunused-variable -fno-rtti -fno-exceptions -Winvalid-pch -Xclang -include-pch -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx.pch -Xclang -include -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx -o deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/preprocessor/PpAtom.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/MachineIndependent/preprocessor/PpAtom.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/MachineIndependent/preprocessor/PpAtom.cpp", + "output": "deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/preprocessor/PpAtom.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DENABLE_OPT=0 -DENABLE_SPIRV -DGLSLANG_OSINCLUDE_UNIX -DTRACY_ENABLE=1 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/.. -I/home/zoey/dev/vk-book/build/include -g -std=c++17 -fPIC -DDEBUG -Wall -Wuninitialized -Wunused -Wunused-local-typedefs -Wimplicit-fallthrough -Wunused-parameter -Wunused-value -Wunused-variable -fno-rtti -fno-exceptions -Winvalid-pch -Xclang -include-pch -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx.pch -Xclang -include -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx -o deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/preprocessor/PpContext.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/MachineIndependent/preprocessor/PpContext.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/MachineIndependent/preprocessor/PpContext.cpp", + "output": "deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/preprocessor/PpContext.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DENABLE_OPT=0 -DENABLE_SPIRV -DGLSLANG_OSINCLUDE_UNIX -DTRACY_ENABLE=1 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/.. -I/home/zoey/dev/vk-book/build/include -g -std=c++17 -fPIC -DDEBUG -Wall -Wuninitialized -Wunused -Wunused-local-typedefs -Wimplicit-fallthrough -Wunused-parameter -Wunused-value -Wunused-variable -fno-rtti -fno-exceptions -Winvalid-pch -Xclang -include-pch -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx.pch -Xclang -include -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx -o deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/preprocessor/PpScanner.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/MachineIndependent/preprocessor/PpScanner.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/MachineIndependent/preprocessor/PpScanner.cpp", + "output": "deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/preprocessor/PpScanner.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DENABLE_OPT=0 -DENABLE_SPIRV -DGLSLANG_OSINCLUDE_UNIX -DTRACY_ENABLE=1 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/.. -I/home/zoey/dev/vk-book/build/include -g -std=c++17 -fPIC -DDEBUG -Wall -Wuninitialized -Wunused -Wunused-local-typedefs -Wimplicit-fallthrough -Wunused-parameter -Wunused-value -Wunused-variable -fno-rtti -fno-exceptions -Winvalid-pch -Xclang -include-pch -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx.pch -Xclang -include -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx -o deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/preprocessor/PpTokens.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/MachineIndependent/preprocessor/PpTokens.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/MachineIndependent/preprocessor/PpTokens.cpp", + "output": "deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/preprocessor/PpTokens.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DENABLE_OPT=0 -DENABLE_SPIRV -DGLSLANG_OSINCLUDE_UNIX -DTRACY_ENABLE=1 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/.. -I/home/zoey/dev/vk-book/build/include -g -std=c++17 -fPIC -DDEBUG -Wall -Wuninitialized -Wunused -Wunused-local-typedefs -Wimplicit-fallthrough -Wunused-parameter -Wunused-value -Wunused-variable -fno-rtti -fno-exceptions -Winvalid-pch -Xclang -include-pch -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx.pch -Xclang -include -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx -o deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/propagateNoContraction.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/MachineIndependent/propagateNoContraction.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/MachineIndependent/propagateNoContraction.cpp", + "output": "deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/MachineIndependent/propagateNoContraction.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DENABLE_OPT=0 -DENABLE_SPIRV -DGLSLANG_OSINCLUDE_UNIX -DTRACY_ENABLE=1 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/.. -I/home/zoey/dev/vk-book/build/include -g -std=c++17 -fPIC -DDEBUG -Wall -Wuninitialized -Wunused -Wunused-local-typedefs -Wimplicit-fallthrough -Wunused-parameter -Wunused-value -Wunused-variable -fno-rtti -fno-exceptions -Winvalid-pch -Xclang -include-pch -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx.pch -Xclang -include -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx -o deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/__/SPIRV/GlslangToSpv.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/SPIRV/GlslangToSpv.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/SPIRV/GlslangToSpv.cpp", + "output": "deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/__/SPIRV/GlslangToSpv.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DENABLE_OPT=0 -DENABLE_SPIRV -DGLSLANG_OSINCLUDE_UNIX -DTRACY_ENABLE=1 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/.. -I/home/zoey/dev/vk-book/build/include -g -std=c++17 -fPIC -DDEBUG -Wall -Wuninitialized -Wunused -Wunused-local-typedefs -Wimplicit-fallthrough -Wunused-parameter -Wunused-value -Wunused-variable -fno-rtti -fno-exceptions -Winvalid-pch -Xclang -include-pch -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx.pch -Xclang -include -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx -o deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/__/SPIRV/InReadableOrder.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/SPIRV/InReadableOrder.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/SPIRV/InReadableOrder.cpp", + "output": "deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/__/SPIRV/InReadableOrder.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DENABLE_OPT=0 -DENABLE_SPIRV -DGLSLANG_OSINCLUDE_UNIX -DTRACY_ENABLE=1 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/.. -I/home/zoey/dev/vk-book/build/include -g -std=c++17 -fPIC -DDEBUG -Wall -Wuninitialized -Wunused -Wunused-local-typedefs -Wimplicit-fallthrough -Wunused-parameter -Wunused-value -Wunused-variable -fno-rtti -fno-exceptions -Winvalid-pch -Xclang -include-pch -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx.pch -Xclang -include -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx -o deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/__/SPIRV/Logger.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/SPIRV/Logger.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/SPIRV/Logger.cpp", + "output": "deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/__/SPIRV/Logger.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DENABLE_OPT=0 -DENABLE_SPIRV -DGLSLANG_OSINCLUDE_UNIX -DTRACY_ENABLE=1 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/.. -I/home/zoey/dev/vk-book/build/include -g -std=c++17 -fPIC -DDEBUG -Wall -Wuninitialized -Wunused -Wunused-local-typedefs -Wimplicit-fallthrough -Wunused-parameter -Wunused-value -Wunused-variable -fno-rtti -fno-exceptions -Winvalid-pch -Xclang -include-pch -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx.pch -Xclang -include -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx -o deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/__/SPIRV/SpvBuilder.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/SPIRV/SpvBuilder.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/SPIRV/SpvBuilder.cpp", + "output": "deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/__/SPIRV/SpvBuilder.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DENABLE_OPT=0 -DENABLE_SPIRV -DGLSLANG_OSINCLUDE_UNIX -DTRACY_ENABLE=1 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/.. -I/home/zoey/dev/vk-book/build/include -g -std=c++17 -fPIC -DDEBUG -Wall -Wuninitialized -Wunused -Wunused-local-typedefs -Wimplicit-fallthrough -Wunused-parameter -Wunused-value -Wunused-variable -fno-rtti -fno-exceptions -Winvalid-pch -Xclang -include-pch -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx.pch -Xclang -include -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx -o deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/__/SPIRV/SpvPostProcess.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/SPIRV/SpvPostProcess.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/SPIRV/SpvPostProcess.cpp", + "output": "deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/__/SPIRV/SpvPostProcess.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DENABLE_OPT=0 -DENABLE_SPIRV -DGLSLANG_OSINCLUDE_UNIX -DTRACY_ENABLE=1 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/.. -I/home/zoey/dev/vk-book/build/include -g -std=c++17 -fPIC -DDEBUG -Wall -Wuninitialized -Wunused -Wunused-local-typedefs -Wimplicit-fallthrough -Wunused-parameter -Wunused-value -Wunused-variable -fno-rtti -fno-exceptions -Winvalid-pch -Xclang -include-pch -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx.pch -Xclang -include -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx -o deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/__/SPIRV/doc.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/SPIRV/doc.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/SPIRV/doc.cpp", + "output": "deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/__/SPIRV/doc.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DENABLE_OPT=0 -DENABLE_SPIRV -DGLSLANG_OSINCLUDE_UNIX -DTRACY_ENABLE=1 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/.. -I/home/zoey/dev/vk-book/build/include -g -std=c++17 -fPIC -DDEBUG -Wall -Wuninitialized -Wunused -Wunused-local-typedefs -Wimplicit-fallthrough -Wunused-parameter -Wunused-value -Wunused-variable -fno-rtti -fno-exceptions -Winvalid-pch -Xclang -include-pch -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx.pch -Xclang -include -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx -o deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/__/SPIRV/SpvTools.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/SPIRV/SpvTools.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/SPIRV/SpvTools.cpp", + "output": "deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/__/SPIRV/SpvTools.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DENABLE_OPT=0 -DENABLE_SPIRV -DGLSLANG_OSINCLUDE_UNIX -DTRACY_ENABLE=1 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/.. -I/home/zoey/dev/vk-book/build/include -g -std=c++17 -fPIC -DDEBUG -Wall -Wuninitialized -Wunused -Wunused-local-typedefs -Wimplicit-fallthrough -Wunused-parameter -Wunused-value -Wunused-variable -fno-rtti -fno-exceptions -Winvalid-pch -Xclang -include-pch -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx.pch -Xclang -include -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx -o deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/__/SPIRV/disassemble.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/SPIRV/disassemble.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/SPIRV/disassemble.cpp", + "output": "deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/__/SPIRV/disassemble.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DENABLE_OPT=0 -DENABLE_SPIRV -DGLSLANG_OSINCLUDE_UNIX -DTRACY_ENABLE=1 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/.. -I/home/zoey/dev/vk-book/build/include -g -std=c++17 -fPIC -DDEBUG -Wall -Wuninitialized -Wunused -Wunused-local-typedefs -Wimplicit-fallthrough -Wunused-parameter -Wunused-value -Wunused-variable -fno-rtti -fno-exceptions -Winvalid-pch -Xclang -include-pch -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx.pch -Xclang -include -Xclang /home/zoey/dev/vk-book/build/deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/cmake_pch.hxx -o deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/__/SPIRV/CInterface/spirv_c_interface.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/SPIRV/CInterface/spirv_c_interface.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/SPIRV/CInterface/spirv_c_interface.cpp", + "output": "deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang.dir/__/SPIRV/CInterface/spirv_c_interface.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DENABLE_OPT=0 -DENABLE_SPIRV -DGLSLANG_OSINCLUDE_UNIX -DTRACY_ENABLE=1 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/.. -g -std=c++17 -fPIC -DDEBUG -Wall -Wuninitialized -Wunused -Wunused-local-typedefs -Wimplicit-fallthrough -Wunused-parameter -Wunused-value -Wunused-variable -fno-rtti -fno-exceptions -o deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang-default-resource-limits.dir/ResourceLimits/ResourceLimits.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/ResourceLimits/ResourceLimits.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/ResourceLimits/ResourceLimits.cpp", + "output": "deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang-default-resource-limits.dir/ResourceLimits/ResourceLimits.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DENABLE_OPT=0 -DENABLE_SPIRV -DGLSLANG_OSINCLUDE_UNIX -DTRACY_ENABLE=1 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/.. -g -std=c++17 -fPIC -DDEBUG -Wall -Wuninitialized -Wunused -Wunused-local-typedefs -Wimplicit-fallthrough -Wunused-parameter -Wunused-value -Wunused-variable -fno-rtti -fno-exceptions -o deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang-default-resource-limits.dir/ResourceLimits/resource_limits_c.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/ResourceLimits/resource_limits_c.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/ResourceLimits/resource_limits_c.cpp", + "output": "deps/src/lightweightvk/lvk/vulkan/glslang/glslang/CMakeFiles/glslang-default-resource-limits.dir/ResourceLimits/resource_limits_c.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DENABLE_OPT=0 -DENABLE_SPIRV -DGLSLANG_OSINCLUDE_UNIX -DTRACY_ENABLE=1 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -g -std=c++17 -fPIC -DDEBUG -Wall -Wuninitialized -Wunused -Wunused-local-typedefs -Wimplicit-fallthrough -Wunused-parameter -Wunused-value -Wunused-variable -fno-rtti -fno-exceptions -o deps/src/lightweightvk/lvk/vulkan/glslang/glslang/OSDependent/Unix/CMakeFiles/OSDependent.dir/__/__/stub.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/stub.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/stub.cpp", + "output": "deps/src/lightweightvk/lvk/vulkan/glslang/glslang/OSDependent/Unix/CMakeFiles/OSDependent.dir/__/__/stub.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DTRACY_ENABLE=1 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/SPIRV-Reflect -o deps/src/lightweightvk/lvk/vulkan/SPIRV-Reflect/CMakeFiles/spirv-reflect-static.dir/spirv_reflect.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/SPIRV-Reflect/spirv_reflect.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/SPIRV-Reflect/spirv_reflect.c", + "output": "deps/src/lightweightvk/lvk/vulkan/SPIRV-Reflect/CMakeFiles/spirv-reflect-static.dir/spirv_reflect.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DMINILOG_RAW_OUTPUT=1 -DTRACY_ENABLE=1 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -std=gnu++17 -o deps/src/lightweightvk/third-party/deps/src/minilog/CMakeFiles/minilog.dir/minilog.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/minilog/minilog.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/minilog/minilog.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/minilog/CMakeFiles/minilog.dir/minilog.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DTRACY_ENABLE=1 -D_DEFAULT_SOURCE -D_GLFW_X11 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src -I/home/zoey/dev/vk-book/build/deps/src/lightweightvk/third-party/deps/src/glfw/src -std=c99 -fPIC -Wall -o deps/src/lightweightvk/third-party/deps/src/glfw/src/CMakeFiles/glfw.dir/context.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src/context.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src/context.c", + "output": "deps/src/lightweightvk/third-party/deps/src/glfw/src/CMakeFiles/glfw.dir/context.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DTRACY_ENABLE=1 -D_DEFAULT_SOURCE -D_GLFW_X11 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src -I/home/zoey/dev/vk-book/build/deps/src/lightweightvk/third-party/deps/src/glfw/src -std=c99 -fPIC -Wall -o deps/src/lightweightvk/third-party/deps/src/glfw/src/CMakeFiles/glfw.dir/init.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src/init.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src/init.c", + "output": "deps/src/lightweightvk/third-party/deps/src/glfw/src/CMakeFiles/glfw.dir/init.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DTRACY_ENABLE=1 -D_DEFAULT_SOURCE -D_GLFW_X11 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src -I/home/zoey/dev/vk-book/build/deps/src/lightweightvk/third-party/deps/src/glfw/src -std=c99 -fPIC -Wall -o deps/src/lightweightvk/third-party/deps/src/glfw/src/CMakeFiles/glfw.dir/input.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src/input.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src/input.c", + "output": "deps/src/lightweightvk/third-party/deps/src/glfw/src/CMakeFiles/glfw.dir/input.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DTRACY_ENABLE=1 -D_DEFAULT_SOURCE -D_GLFW_X11 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src -I/home/zoey/dev/vk-book/build/deps/src/lightweightvk/third-party/deps/src/glfw/src -std=c99 -fPIC -Wall -o deps/src/lightweightvk/third-party/deps/src/glfw/src/CMakeFiles/glfw.dir/monitor.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src/monitor.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src/monitor.c", + "output": "deps/src/lightweightvk/third-party/deps/src/glfw/src/CMakeFiles/glfw.dir/monitor.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DTRACY_ENABLE=1 -D_DEFAULT_SOURCE -D_GLFW_X11 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src -I/home/zoey/dev/vk-book/build/deps/src/lightweightvk/third-party/deps/src/glfw/src -std=c99 -fPIC -Wall -o deps/src/lightweightvk/third-party/deps/src/glfw/src/CMakeFiles/glfw.dir/platform.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src/platform.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src/platform.c", + "output": "deps/src/lightweightvk/third-party/deps/src/glfw/src/CMakeFiles/glfw.dir/platform.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DTRACY_ENABLE=1 -D_DEFAULT_SOURCE -D_GLFW_X11 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src -I/home/zoey/dev/vk-book/build/deps/src/lightweightvk/third-party/deps/src/glfw/src -std=c99 -fPIC -Wall -o deps/src/lightweightvk/third-party/deps/src/glfw/src/CMakeFiles/glfw.dir/vulkan.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src/vulkan.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src/vulkan.c", + "output": "deps/src/lightweightvk/third-party/deps/src/glfw/src/CMakeFiles/glfw.dir/vulkan.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DTRACY_ENABLE=1 -D_DEFAULT_SOURCE -D_GLFW_X11 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src -I/home/zoey/dev/vk-book/build/deps/src/lightweightvk/third-party/deps/src/glfw/src -std=c99 -fPIC -Wall -o deps/src/lightweightvk/third-party/deps/src/glfw/src/CMakeFiles/glfw.dir/window.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src/window.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src/window.c", + "output": "deps/src/lightweightvk/third-party/deps/src/glfw/src/CMakeFiles/glfw.dir/window.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DTRACY_ENABLE=1 -D_DEFAULT_SOURCE -D_GLFW_X11 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src -I/home/zoey/dev/vk-book/build/deps/src/lightweightvk/third-party/deps/src/glfw/src -std=c99 -fPIC -Wall -o deps/src/lightweightvk/third-party/deps/src/glfw/src/CMakeFiles/glfw.dir/egl_context.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src/egl_context.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src/egl_context.c", + "output": "deps/src/lightweightvk/third-party/deps/src/glfw/src/CMakeFiles/glfw.dir/egl_context.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DTRACY_ENABLE=1 -D_DEFAULT_SOURCE -D_GLFW_X11 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src -I/home/zoey/dev/vk-book/build/deps/src/lightweightvk/third-party/deps/src/glfw/src -std=c99 -fPIC -Wall -o deps/src/lightweightvk/third-party/deps/src/glfw/src/CMakeFiles/glfw.dir/osmesa_context.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src/osmesa_context.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src/osmesa_context.c", + "output": "deps/src/lightweightvk/third-party/deps/src/glfw/src/CMakeFiles/glfw.dir/osmesa_context.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DTRACY_ENABLE=1 -D_DEFAULT_SOURCE -D_GLFW_X11 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src -I/home/zoey/dev/vk-book/build/deps/src/lightweightvk/third-party/deps/src/glfw/src -std=c99 -fPIC -Wall -o deps/src/lightweightvk/third-party/deps/src/glfw/src/CMakeFiles/glfw.dir/null_init.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src/null_init.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src/null_init.c", + "output": "deps/src/lightweightvk/third-party/deps/src/glfw/src/CMakeFiles/glfw.dir/null_init.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DTRACY_ENABLE=1 -D_DEFAULT_SOURCE -D_GLFW_X11 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src -I/home/zoey/dev/vk-book/build/deps/src/lightweightvk/third-party/deps/src/glfw/src -std=c99 -fPIC -Wall -o deps/src/lightweightvk/third-party/deps/src/glfw/src/CMakeFiles/glfw.dir/null_monitor.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src/null_monitor.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src/null_monitor.c", + "output": "deps/src/lightweightvk/third-party/deps/src/glfw/src/CMakeFiles/glfw.dir/null_monitor.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DTRACY_ENABLE=1 -D_DEFAULT_SOURCE -D_GLFW_X11 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src -I/home/zoey/dev/vk-book/build/deps/src/lightweightvk/third-party/deps/src/glfw/src -std=c99 -fPIC -Wall -o deps/src/lightweightvk/third-party/deps/src/glfw/src/CMakeFiles/glfw.dir/null_window.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src/null_window.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src/null_window.c", + "output": "deps/src/lightweightvk/third-party/deps/src/glfw/src/CMakeFiles/glfw.dir/null_window.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DTRACY_ENABLE=1 -D_DEFAULT_SOURCE -D_GLFW_X11 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src -I/home/zoey/dev/vk-book/build/deps/src/lightweightvk/third-party/deps/src/glfw/src -std=c99 -fPIC -Wall -o deps/src/lightweightvk/third-party/deps/src/glfw/src/CMakeFiles/glfw.dir/null_joystick.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src/null_joystick.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src/null_joystick.c", + "output": "deps/src/lightweightvk/third-party/deps/src/glfw/src/CMakeFiles/glfw.dir/null_joystick.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DTRACY_ENABLE=1 -D_DEFAULT_SOURCE -D_GLFW_X11 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src -I/home/zoey/dev/vk-book/build/deps/src/lightweightvk/third-party/deps/src/glfw/src -std=c99 -fPIC -Wall -o deps/src/lightweightvk/third-party/deps/src/glfw/src/CMakeFiles/glfw.dir/posix_module.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src/posix_module.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src/posix_module.c", + "output": "deps/src/lightweightvk/third-party/deps/src/glfw/src/CMakeFiles/glfw.dir/posix_module.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DTRACY_ENABLE=1 -D_DEFAULT_SOURCE -D_GLFW_X11 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src -I/home/zoey/dev/vk-book/build/deps/src/lightweightvk/third-party/deps/src/glfw/src -std=c99 -fPIC -Wall -o deps/src/lightweightvk/third-party/deps/src/glfw/src/CMakeFiles/glfw.dir/posix_time.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src/posix_time.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src/posix_time.c", + "output": "deps/src/lightweightvk/third-party/deps/src/glfw/src/CMakeFiles/glfw.dir/posix_time.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DTRACY_ENABLE=1 -D_DEFAULT_SOURCE -D_GLFW_X11 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src -I/home/zoey/dev/vk-book/build/deps/src/lightweightvk/third-party/deps/src/glfw/src -std=c99 -fPIC -Wall -o deps/src/lightweightvk/third-party/deps/src/glfw/src/CMakeFiles/glfw.dir/posix_thread.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src/posix_thread.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src/posix_thread.c", + "output": "deps/src/lightweightvk/third-party/deps/src/glfw/src/CMakeFiles/glfw.dir/posix_thread.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DTRACY_ENABLE=1 -D_DEFAULT_SOURCE -D_GLFW_X11 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src -I/home/zoey/dev/vk-book/build/deps/src/lightweightvk/third-party/deps/src/glfw/src -std=c99 -fPIC -Wall -o deps/src/lightweightvk/third-party/deps/src/glfw/src/CMakeFiles/glfw.dir/x11_init.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src/x11_init.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src/x11_init.c", + "output": "deps/src/lightweightvk/third-party/deps/src/glfw/src/CMakeFiles/glfw.dir/x11_init.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DTRACY_ENABLE=1 -D_DEFAULT_SOURCE -D_GLFW_X11 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src -I/home/zoey/dev/vk-book/build/deps/src/lightweightvk/third-party/deps/src/glfw/src -std=c99 -fPIC -Wall -o deps/src/lightweightvk/third-party/deps/src/glfw/src/CMakeFiles/glfw.dir/x11_monitor.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src/x11_monitor.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src/x11_monitor.c", + "output": "deps/src/lightweightvk/third-party/deps/src/glfw/src/CMakeFiles/glfw.dir/x11_monitor.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DTRACY_ENABLE=1 -D_DEFAULT_SOURCE -D_GLFW_X11 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src -I/home/zoey/dev/vk-book/build/deps/src/lightweightvk/third-party/deps/src/glfw/src -std=c99 -fPIC -Wall -o deps/src/lightweightvk/third-party/deps/src/glfw/src/CMakeFiles/glfw.dir/x11_window.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src/x11_window.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src/x11_window.c", + "output": "deps/src/lightweightvk/third-party/deps/src/glfw/src/CMakeFiles/glfw.dir/x11_window.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DTRACY_ENABLE=1 -D_DEFAULT_SOURCE -D_GLFW_X11 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src -I/home/zoey/dev/vk-book/build/deps/src/lightweightvk/third-party/deps/src/glfw/src -std=c99 -fPIC -Wall -o deps/src/lightweightvk/third-party/deps/src/glfw/src/CMakeFiles/glfw.dir/xkb_unicode.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src/xkb_unicode.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src/xkb_unicode.c", + "output": "deps/src/lightweightvk/third-party/deps/src/glfw/src/CMakeFiles/glfw.dir/xkb_unicode.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DTRACY_ENABLE=1 -D_DEFAULT_SOURCE -D_GLFW_X11 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src -I/home/zoey/dev/vk-book/build/deps/src/lightweightvk/third-party/deps/src/glfw/src -std=c99 -fPIC -Wall -o deps/src/lightweightvk/third-party/deps/src/glfw/src/CMakeFiles/glfw.dir/glx_context.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src/glx_context.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src/glx_context.c", + "output": "deps/src/lightweightvk/third-party/deps/src/glfw/src/CMakeFiles/glfw.dir/glx_context.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DTRACY_ENABLE=1 -D_DEFAULT_SOURCE -D_GLFW_X11 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src -I/home/zoey/dev/vk-book/build/deps/src/lightweightvk/third-party/deps/src/glfw/src -std=c99 -fPIC -Wall -o deps/src/lightweightvk/third-party/deps/src/glfw/src/CMakeFiles/glfw.dir/linux_joystick.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src/linux_joystick.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src/linux_joystick.c", + "output": "deps/src/lightweightvk/third-party/deps/src/glfw/src/CMakeFiles/glfw.dir/linux_joystick.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DTRACY_ENABLE=1 -D_DEFAULT_SOURCE -D_GLFW_X11 -I/home/zoey/dev/vk-book/deps/src/lightweightvk/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src -I/home/zoey/dev/vk-book/build/deps/src/lightweightvk/third-party/deps/src/glfw/src -std=c99 -fPIC -Wall -o deps/src/lightweightvk/third-party/deps/src/glfw/src/CMakeFiles/glfw.dir/posix_poll.c.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src/posix_poll.c", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/src/posix_poll.c", + "output": "deps/src/lightweightvk/third-party/deps/src/glfw/src/CMakeFiles/glfw.dir/posix_poll.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -D_LARGEFILE64_SOURCE=1 -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book -fno-strict-aliasing -std=gnu99 -fPIC -o deps/src/assimp/contrib/zlib/CMakeFiles/zlibstatic.dir/adler32.c.o -c /home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib/adler32.c", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib/adler32.c", + "output": "deps/src/assimp/contrib/zlib/CMakeFiles/zlibstatic.dir/adler32.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -D_LARGEFILE64_SOURCE=1 -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book -fno-strict-aliasing -std=gnu99 -fPIC -o deps/src/assimp/contrib/zlib/CMakeFiles/zlibstatic.dir/compress.c.o -c /home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib/compress.c", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib/compress.c", + "output": "deps/src/assimp/contrib/zlib/CMakeFiles/zlibstatic.dir/compress.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -D_LARGEFILE64_SOURCE=1 -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book -fno-strict-aliasing -std=gnu99 -fPIC -o deps/src/assimp/contrib/zlib/CMakeFiles/zlibstatic.dir/crc32.c.o -c /home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib/crc32.c", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib/crc32.c", + "output": "deps/src/assimp/contrib/zlib/CMakeFiles/zlibstatic.dir/crc32.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -D_LARGEFILE64_SOURCE=1 -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book -fno-strict-aliasing -std=gnu99 -fPIC -o deps/src/assimp/contrib/zlib/CMakeFiles/zlibstatic.dir/deflate.c.o -c /home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib/deflate.c", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib/deflate.c", + "output": "deps/src/assimp/contrib/zlib/CMakeFiles/zlibstatic.dir/deflate.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -D_LARGEFILE64_SOURCE=1 -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book -fno-strict-aliasing -std=gnu99 -fPIC -o deps/src/assimp/contrib/zlib/CMakeFiles/zlibstatic.dir/gzclose.c.o -c /home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib/gzclose.c", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib/gzclose.c", + "output": "deps/src/assimp/contrib/zlib/CMakeFiles/zlibstatic.dir/gzclose.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -D_LARGEFILE64_SOURCE=1 -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book -fno-strict-aliasing -std=gnu99 -fPIC -o deps/src/assimp/contrib/zlib/CMakeFiles/zlibstatic.dir/gzlib.c.o -c /home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib/gzlib.c", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib/gzlib.c", + "output": "deps/src/assimp/contrib/zlib/CMakeFiles/zlibstatic.dir/gzlib.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -D_LARGEFILE64_SOURCE=1 -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book -fno-strict-aliasing -std=gnu99 -fPIC -o deps/src/assimp/contrib/zlib/CMakeFiles/zlibstatic.dir/gzread.c.o -c /home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib/gzread.c", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib/gzread.c", + "output": "deps/src/assimp/contrib/zlib/CMakeFiles/zlibstatic.dir/gzread.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -D_LARGEFILE64_SOURCE=1 -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book -fno-strict-aliasing -std=gnu99 -fPIC -o deps/src/assimp/contrib/zlib/CMakeFiles/zlibstatic.dir/gzwrite.c.o -c /home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib/gzwrite.c", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib/gzwrite.c", + "output": "deps/src/assimp/contrib/zlib/CMakeFiles/zlibstatic.dir/gzwrite.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -D_LARGEFILE64_SOURCE=1 -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book -fno-strict-aliasing -std=gnu99 -fPIC -o deps/src/assimp/contrib/zlib/CMakeFiles/zlibstatic.dir/inflate.c.o -c /home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib/inflate.c", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib/inflate.c", + "output": "deps/src/assimp/contrib/zlib/CMakeFiles/zlibstatic.dir/inflate.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -D_LARGEFILE64_SOURCE=1 -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book -fno-strict-aliasing -std=gnu99 -fPIC -o deps/src/assimp/contrib/zlib/CMakeFiles/zlibstatic.dir/infback.c.o -c /home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib/infback.c", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib/infback.c", + "output": "deps/src/assimp/contrib/zlib/CMakeFiles/zlibstatic.dir/infback.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -D_LARGEFILE64_SOURCE=1 -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book -fno-strict-aliasing -std=gnu99 -fPIC -o deps/src/assimp/contrib/zlib/CMakeFiles/zlibstatic.dir/inftrees.c.o -c /home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib/inftrees.c", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib/inftrees.c", + "output": "deps/src/assimp/contrib/zlib/CMakeFiles/zlibstatic.dir/inftrees.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -D_LARGEFILE64_SOURCE=1 -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book -fno-strict-aliasing -std=gnu99 -fPIC -o deps/src/assimp/contrib/zlib/CMakeFiles/zlibstatic.dir/inffast.c.o -c /home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib/inffast.c", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib/inffast.c", + "output": "deps/src/assimp/contrib/zlib/CMakeFiles/zlibstatic.dir/inffast.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -D_LARGEFILE64_SOURCE=1 -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book -fno-strict-aliasing -std=gnu99 -fPIC -o deps/src/assimp/contrib/zlib/CMakeFiles/zlibstatic.dir/trees.c.o -c /home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib/trees.c", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib/trees.c", + "output": "deps/src/assimp/contrib/zlib/CMakeFiles/zlibstatic.dir/trees.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -D_LARGEFILE64_SOURCE=1 -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book -fno-strict-aliasing -std=gnu99 -fPIC -o deps/src/assimp/contrib/zlib/CMakeFiles/zlibstatic.dir/uncompr.c.o -c /home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib/uncompr.c", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib/uncompr.c", + "output": "deps/src/assimp/contrib/zlib/CMakeFiles/zlibstatic.dir/uncompr.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -D_LARGEFILE64_SOURCE=1 -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book -fno-strict-aliasing -std=gnu99 -fPIC -o deps/src/assimp/contrib/zlib/CMakeFiles/zlibstatic.dir/zutil.c.o -c /home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib/zutil.c", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib/zutil.c", + "output": "deps/src/assimp/contrib/zlib/CMakeFiles/zlibstatic.dir/zutil.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/Common/Assimp.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/Common/Assimp.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/Common/Assimp.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/Common/Assimp.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/CApi/CInterfaceIOWrapper.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/CApi/CInterfaceIOWrapper.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/CApi/CInterfaceIOWrapper.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/CApi/CInterfaceIOWrapper.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/Common/Compression.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/Common/Compression.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/Common/Compression.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/Common/Compression.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/Common/BaseImporter.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/Common/BaseImporter.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/Common/BaseImporter.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/Common/BaseImporter.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/Common/BaseProcess.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/Common/BaseProcess.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/Common/BaseProcess.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/Common/BaseProcess.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/Common/PostStepRegistry.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/Common/PostStepRegistry.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/Common/PostStepRegistry.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/Common/PostStepRegistry.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/Common/ImporterRegistry.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/Common/ImporterRegistry.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/Common/ImporterRegistry.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/Common/ImporterRegistry.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/Common/DefaultIOStream.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/Common/DefaultIOStream.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/Common/DefaultIOStream.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/Common/DefaultIOStream.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/Common/IOSystem.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/Common/IOSystem.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/Common/IOSystem.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/Common/IOSystem.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/Common/DefaultIOSystem.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/Common/DefaultIOSystem.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/Common/DefaultIOSystem.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/Common/DefaultIOSystem.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/Common/ZipArchiveIOSystem.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/Common/ZipArchiveIOSystem.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/Common/ZipArchiveIOSystem.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/Common/ZipArchiveIOSystem.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/Common/Importer.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/Common/Importer.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/Common/Importer.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/Common/Importer.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/Common/SGSpatialSort.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/Common/SGSpatialSort.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/Common/SGSpatialSort.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/Common/SGSpatialSort.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/Common/VertexTriangleAdjacency.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/Common/VertexTriangleAdjacency.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/Common/VertexTriangleAdjacency.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/Common/VertexTriangleAdjacency.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/Common/SpatialSort.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/Common/SpatialSort.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/Common/SpatialSort.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/Common/SpatialSort.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/Common/SceneCombiner.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/Common/SceneCombiner.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/Common/SceneCombiner.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/Common/SceneCombiner.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/Common/ScenePreprocessor.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/Common/ScenePreprocessor.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/Common/ScenePreprocessor.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/Common/ScenePreprocessor.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/Common/SkeletonMeshBuilder.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/Common/SkeletonMeshBuilder.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/Common/SkeletonMeshBuilder.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/Common/SkeletonMeshBuilder.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/Common/StandardShapes.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/Common/StandardShapes.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/Common/StandardShapes.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/Common/StandardShapes.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/Common/TargetAnimation.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/Common/TargetAnimation.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/Common/TargetAnimation.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/Common/TargetAnimation.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/Common/RemoveComments.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/Common/RemoveComments.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/Common/RemoveComments.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/Common/RemoveComments.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/Common/Subdivision.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/Common/Subdivision.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/Common/Subdivision.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/Common/Subdivision.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/Common/scene.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/Common/scene.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/Common/scene.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/Common/scene.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/Common/Bitmap.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/Common/Bitmap.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/Common/Bitmap.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/Common/Bitmap.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/Common/Version.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/Common/Version.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/Common/Version.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/Common/Version.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/Common/CreateAnimMesh.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/Common/CreateAnimMesh.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/Common/CreateAnimMesh.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/Common/CreateAnimMesh.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/Common/simd.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/Common/simd.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/Common/simd.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/Common/simd.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/Common/material.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/Common/material.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/Common/material.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/Common/material.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/Common/AssertHandler.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/Common/AssertHandler.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/Common/AssertHandler.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/Common/AssertHandler.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/Common/Exceptional.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/Common/Exceptional.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/Common/Exceptional.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/Common/Exceptional.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/Common/Base64.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/Common/Base64.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/Common/Base64.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/Common/Base64.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/Geometry/GeometryUtils.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/Geometry/GeometryUtils.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/Geometry/GeometryUtils.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/Geometry/GeometryUtils.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/Common/DefaultLogger.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/Common/DefaultLogger.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/Common/DefaultLogger.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/Common/DefaultLogger.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/PostProcessing/CalcTangentsProcess.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/PostProcessing/CalcTangentsProcess.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/PostProcessing/CalcTangentsProcess.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/PostProcessing/CalcTangentsProcess.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/PostProcessing/ComputeUVMappingProcess.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/PostProcessing/ComputeUVMappingProcess.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/PostProcessing/ComputeUVMappingProcess.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/PostProcessing/ComputeUVMappingProcess.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/PostProcessing/ConvertToLHProcess.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/PostProcessing/ConvertToLHProcess.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/PostProcessing/ConvertToLHProcess.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/PostProcessing/ConvertToLHProcess.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/PostProcessing/EmbedTexturesProcess.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/PostProcessing/EmbedTexturesProcess.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/PostProcessing/EmbedTexturesProcess.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/PostProcessing/EmbedTexturesProcess.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/PostProcessing/FindDegenerates.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/PostProcessing/FindDegenerates.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/PostProcessing/FindDegenerates.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/PostProcessing/FindDegenerates.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/PostProcessing/FindInstancesProcess.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/PostProcessing/FindInstancesProcess.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/PostProcessing/FindInstancesProcess.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/PostProcessing/FindInstancesProcess.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/PostProcessing/FindInvalidDataProcess.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/PostProcessing/FindInvalidDataProcess.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/PostProcessing/FindInvalidDataProcess.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/PostProcessing/FindInvalidDataProcess.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/PostProcessing/FixNormalsStep.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/PostProcessing/FixNormalsStep.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/PostProcessing/FixNormalsStep.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/PostProcessing/FixNormalsStep.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/PostProcessing/DropFaceNormalsProcess.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/PostProcessing/DropFaceNormalsProcess.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/PostProcessing/DropFaceNormalsProcess.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/PostProcessing/DropFaceNormalsProcess.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/PostProcessing/GenFaceNormalsProcess.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/PostProcessing/GenFaceNormalsProcess.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/PostProcessing/GenFaceNormalsProcess.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/PostProcessing/GenFaceNormalsProcess.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/PostProcessing/GenVertexNormalsProcess.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/PostProcessing/GenVertexNormalsProcess.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/PostProcessing/GenVertexNormalsProcess.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/PostProcessing/GenVertexNormalsProcess.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/PostProcessing/PretransformVertices.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/PostProcessing/PretransformVertices.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/PostProcessing/PretransformVertices.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/PostProcessing/PretransformVertices.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/PostProcessing/ImproveCacheLocality.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/PostProcessing/ImproveCacheLocality.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/PostProcessing/ImproveCacheLocality.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/PostProcessing/ImproveCacheLocality.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/PostProcessing/JoinVerticesProcess.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/PostProcessing/JoinVerticesProcess.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/PostProcessing/JoinVerticesProcess.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/PostProcessing/JoinVerticesProcess.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/PostProcessing/LimitBoneWeightsProcess.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/PostProcessing/LimitBoneWeightsProcess.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/PostProcessing/LimitBoneWeightsProcess.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/PostProcessing/LimitBoneWeightsProcess.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/PostProcessing/RemoveRedundantMaterials.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/PostProcessing/RemoveRedundantMaterials.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/PostProcessing/RemoveRedundantMaterials.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/PostProcessing/RemoveRedundantMaterials.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/PostProcessing/RemoveVCProcess.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/PostProcessing/RemoveVCProcess.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/PostProcessing/RemoveVCProcess.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/PostProcessing/RemoveVCProcess.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/PostProcessing/SortByPTypeProcess.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/PostProcessing/SortByPTypeProcess.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/PostProcessing/SortByPTypeProcess.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/PostProcessing/SortByPTypeProcess.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/PostProcessing/SplitLargeMeshes.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/PostProcessing/SplitLargeMeshes.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/PostProcessing/SplitLargeMeshes.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/PostProcessing/SplitLargeMeshes.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/PostProcessing/TextureTransform.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/PostProcessing/TextureTransform.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/PostProcessing/TextureTransform.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/PostProcessing/TextureTransform.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/PostProcessing/TriangulateProcess.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/PostProcessing/TriangulateProcess.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/PostProcessing/TriangulateProcess.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/PostProcessing/TriangulateProcess.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/PostProcessing/ValidateDataStructure.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/PostProcessing/ValidateDataStructure.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/PostProcessing/ValidateDataStructure.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/PostProcessing/ValidateDataStructure.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/PostProcessing/OptimizeGraph.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/PostProcessing/OptimizeGraph.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/PostProcessing/OptimizeGraph.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/PostProcessing/OptimizeGraph.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/PostProcessing/OptimizeMeshes.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/PostProcessing/OptimizeMeshes.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/PostProcessing/OptimizeMeshes.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/PostProcessing/OptimizeMeshes.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/PostProcessing/DeboneProcess.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/PostProcessing/DeboneProcess.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/PostProcessing/DeboneProcess.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/PostProcessing/DeboneProcess.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/PostProcessing/ProcessHelper.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/PostProcessing/ProcessHelper.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/PostProcessing/ProcessHelper.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/PostProcessing/ProcessHelper.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/PostProcessing/MakeVerboseFormat.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/PostProcessing/MakeVerboseFormat.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/PostProcessing/MakeVerboseFormat.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/PostProcessing/MakeVerboseFormat.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/PostProcessing/ScaleProcess.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/PostProcessing/ScaleProcess.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/PostProcessing/ScaleProcess.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/PostProcessing/ScaleProcess.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/PostProcessing/ArmaturePopulate.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/PostProcessing/ArmaturePopulate.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/PostProcessing/ArmaturePopulate.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/PostProcessing/ArmaturePopulate.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/PostProcessing/GenBoundingBoxesProcess.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/PostProcessing/GenBoundingBoxesProcess.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/PostProcessing/GenBoundingBoxesProcess.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/PostProcessing/GenBoundingBoxesProcess.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/PostProcessing/SplitByBoneCountProcess.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/PostProcessing/SplitByBoneCountProcess.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/PostProcessing/SplitByBoneCountProcess.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/PostProcessing/SplitByBoneCountProcess.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/Material/MaterialSystem.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/Material/MaterialSystem.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/Material/MaterialSystem.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/Material/MaterialSystem.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/AssetLib/STEPParser/STEPFileReader.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/AssetLib/STEPParser/STEPFileReader.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/AssetLib/STEPParser/STEPFileReader.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/AssetLib/STEPParser/STEPFileReader.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/AssetLib/STEPParser/STEPFileEncoding.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/AssetLib/STEPParser/STEPFileEncoding.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/AssetLib/STEPParser/STEPFileEncoding.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/AssetLib/STEPParser/STEPFileEncoding.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/AssetLib/Obj/ObjFileImporter.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/AssetLib/Obj/ObjFileImporter.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/AssetLib/Obj/ObjFileImporter.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/AssetLib/Obj/ObjFileImporter.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/AssetLib/Obj/ObjFileMtlImporter.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/AssetLib/Obj/ObjFileMtlImporter.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/AssetLib/Obj/ObjFileMtlImporter.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/AssetLib/Obj/ObjFileMtlImporter.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/AssetLib/Obj/ObjFileParser.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/AssetLib/Obj/ObjFileParser.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/AssetLib/Obj/ObjFileParser.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/AssetLib/Obj/ObjFileParser.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/AssetLib/glTF/glTFCommon.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/AssetLib/glTF/glTFCommon.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/AssetLib/glTF/glTFCommon.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/AssetLib/glTF/glTFCommon.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/AssetLib/glTF/glTFImporter.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/AssetLib/glTF/glTFImporter.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/AssetLib/glTF/glTFImporter.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/AssetLib/glTF/glTFImporter.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/AssetLib/glTF2/glTF2Importer.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/code/AssetLib/glTF2/glTF2Importer.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/code/AssetLib/glTF2/glTF2Importer.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/AssetLib/glTF2/glTF2Importer.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fno-strict-aliasing -std=gnu99 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/__/contrib/unzip/ioapi.c.o -c /home/zoey/dev/vk-book/deps/src/assimp/contrib/unzip/ioapi.c", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/contrib/unzip/ioapi.c", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/__/contrib/unzip/ioapi.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fno-strict-aliasing -std=gnu99 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/__/contrib/unzip/unzip.c.o -c /home/zoey/dev/vk-book/deps/src/assimp/contrib/unzip/unzip.c", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/contrib/unzip/unzip.c", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/__/contrib/unzip/unzip.c.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/__/contrib/poly2tri/poly2tri/common/shapes.cc.o -c /home/zoey/dev/vk-book/deps/src/assimp/contrib/poly2tri/poly2tri/common/shapes.cc", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/contrib/poly2tri/poly2tri/common/shapes.cc", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/__/contrib/poly2tri/poly2tri/common/shapes.cc.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/__/contrib/poly2tri/poly2tri/sweep/advancing_front.cc.o -c /home/zoey/dev/vk-book/deps/src/assimp/contrib/poly2tri/poly2tri/sweep/advancing_front.cc", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/contrib/poly2tri/poly2tri/sweep/advancing_front.cc", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/__/contrib/poly2tri/poly2tri/sweep/advancing_front.cc.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/__/contrib/poly2tri/poly2tri/sweep/cdt.cc.o -c /home/zoey/dev/vk-book/deps/src/assimp/contrib/poly2tri/poly2tri/sweep/cdt.cc", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/contrib/poly2tri/poly2tri/sweep/cdt.cc", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/__/contrib/poly2tri/poly2tri/sweep/cdt.cc.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/__/contrib/poly2tri/poly2tri/sweep/sweep.cc.o -c /home/zoey/dev/vk-book/deps/src/assimp/contrib/poly2tri/poly2tri/sweep/sweep.cc", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/contrib/poly2tri/poly2tri/sweep/sweep.cc", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/__/contrib/poly2tri/poly2tri/sweep/sweep.cc.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/__/contrib/poly2tri/poly2tri/sweep/sweep_context.cc.o -c /home/zoey/dev/vk-book/deps/src/assimp/contrib/poly2tri/poly2tri/sweep/sweep_context.cc", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/contrib/poly2tri/poly2tri/sweep/sweep_context.cc", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/__/contrib/poly2tri/poly2tri/sweep/sweep_context.cc.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/__/contrib/clipper/clipper.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/contrib/clipper/clipper.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/contrib/clipper/clipper.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/__/contrib/clipper/clipper.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/__/contrib/openddlparser/code/OpenDDLParser.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/contrib/openddlparser/code/OpenDDLParser.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/contrib/openddlparser/code/OpenDDLParser.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/__/contrib/openddlparser/code/OpenDDLParser.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/__/contrib/openddlparser/code/DDLNode.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/contrib/openddlparser/code/DDLNode.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/contrib/openddlparser/code/DDLNode.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/__/contrib/openddlparser/code/DDLNode.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/__/contrib/openddlparser/code/OpenDDLCommon.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/contrib/openddlparser/code/OpenDDLCommon.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/contrib/openddlparser/code/OpenDDLCommon.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/__/contrib/openddlparser/code/OpenDDLCommon.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/__/contrib/openddlparser/code/OpenDDLExport.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/contrib/openddlparser/code/OpenDDLExport.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/contrib/openddlparser/code/OpenDDLExport.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/__/contrib/openddlparser/code/OpenDDLExport.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/__/contrib/openddlparser/code/Value.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/contrib/openddlparser/code/Value.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/contrib/openddlparser/code/Value.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/__/contrib/openddlparser/code/Value.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/__/contrib/openddlparser/code/OpenDDLStream.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/contrib/openddlparser/code/OpenDDLStream.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/contrib/openddlparser/code/OpenDDLStream.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/__/contrib/openddlparser/code/OpenDDLStream.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/__/contrib/Open3DGC/o3dgcArithmeticCodec.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/contrib/Open3DGC/o3dgcArithmeticCodec.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/contrib/Open3DGC/o3dgcArithmeticCodec.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/__/contrib/Open3DGC/o3dgcArithmeticCodec.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/__/contrib/Open3DGC/o3dgcDynamicVectorDecoder.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/contrib/Open3DGC/o3dgcDynamicVectorDecoder.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/contrib/Open3DGC/o3dgcDynamicVectorDecoder.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/__/contrib/Open3DGC/o3dgcDynamicVectorDecoder.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/__/contrib/Open3DGC/o3dgcDynamicVectorEncoder.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/contrib/Open3DGC/o3dgcDynamicVectorEncoder.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/contrib/Open3DGC/o3dgcDynamicVectorEncoder.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/__/contrib/Open3DGC/o3dgcDynamicVectorEncoder.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/__/contrib/Open3DGC/o3dgcTools.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/contrib/Open3DGC/o3dgcTools.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/contrib/Open3DGC/o3dgcTools.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/__/contrib/Open3DGC/o3dgcTools.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COLLADA_IMPORTER -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_FBX_IMPORTER -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STL_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_USD_IMPORTER -DASSIMP_BUILD_NO_VRML_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DOPENDDLPARSER_BUILD -DOPENDDL_STATIC_LIBARY -DP2T_STATIC_EXPORTS -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -I/home/zoey/dev/vk-book/build/deps/src/assimp/include -I/home/zoey/dev/vk-book/build/deps/src/assimp -I/home/zoey/dev/vk-book/deps/src/assimp/include -I/home/zoey/dev/vk-book/deps/src/assimp/code -I/home/zoey/dev/vk-book/deps/src/assimp/. -I/home/zoey/dev/vk-book/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/build/deps/src/assimp/contrib/zlib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/pugixml/src -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/utf8cpp/source -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/rapidjson/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/unzip -I/home/zoey/dev/vk-book/deps/src/assimp/code/../contrib/openddlparser/include -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/assimp/code/.. -fvisibility=hidden -fno-strict-aliasing -Wall -Wno-long-long -std=gnu++17 -fPIC -Wall -Werror -o deps/src/assimp/code/CMakeFiles/assimp.dir/__/contrib/Open3DGC/o3dgcTriangleFans.cpp.o -c /home/zoey/dev/vk-book/deps/src/assimp/contrib/Open3DGC/o3dgcTriangleFans.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/assimp/contrib/Open3DGC/o3dgcTriangleFans.cpp", + "output": "deps/src/assimp/code/CMakeFiles/assimp.dir/__/contrib/Open3DGC/o3dgcTriangleFans.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -Wall -Wextra -Wshadow -Wno-missing-field-initializers -o deps/src/lightweightvk/third-party/deps/src/meshoptimizer/CMakeFiles/meshoptimizer.dir/src/allocator.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/meshoptimizer/src/allocator.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/meshoptimizer/src/allocator.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/meshoptimizer/CMakeFiles/meshoptimizer.dir/src/allocator.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -Wall -Wextra -Wshadow -Wno-missing-field-initializers -o deps/src/lightweightvk/third-party/deps/src/meshoptimizer/CMakeFiles/meshoptimizer.dir/src/clusterizer.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/meshoptimizer/src/clusterizer.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/meshoptimizer/src/clusterizer.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/meshoptimizer/CMakeFiles/meshoptimizer.dir/src/clusterizer.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -Wall -Wextra -Wshadow -Wno-missing-field-initializers -o deps/src/lightweightvk/third-party/deps/src/meshoptimizer/CMakeFiles/meshoptimizer.dir/src/indexcodec.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/meshoptimizer/src/indexcodec.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/meshoptimizer/src/indexcodec.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/meshoptimizer/CMakeFiles/meshoptimizer.dir/src/indexcodec.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -Wall -Wextra -Wshadow -Wno-missing-field-initializers -o deps/src/lightweightvk/third-party/deps/src/meshoptimizer/CMakeFiles/meshoptimizer.dir/src/indexgenerator.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/meshoptimizer/src/indexgenerator.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/meshoptimizer/src/indexgenerator.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/meshoptimizer/CMakeFiles/meshoptimizer.dir/src/indexgenerator.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -Wall -Wextra -Wshadow -Wno-missing-field-initializers -o deps/src/lightweightvk/third-party/deps/src/meshoptimizer/CMakeFiles/meshoptimizer.dir/src/overdrawanalyzer.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/meshoptimizer/src/overdrawanalyzer.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/meshoptimizer/src/overdrawanalyzer.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/meshoptimizer/CMakeFiles/meshoptimizer.dir/src/overdrawanalyzer.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -Wall -Wextra -Wshadow -Wno-missing-field-initializers -o deps/src/lightweightvk/third-party/deps/src/meshoptimizer/CMakeFiles/meshoptimizer.dir/src/overdrawoptimizer.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/meshoptimizer/src/overdrawoptimizer.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/meshoptimizer/src/overdrawoptimizer.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/meshoptimizer/CMakeFiles/meshoptimizer.dir/src/overdrawoptimizer.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -Wall -Wextra -Wshadow -Wno-missing-field-initializers -o deps/src/lightweightvk/third-party/deps/src/meshoptimizer/CMakeFiles/meshoptimizer.dir/src/quantization.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/meshoptimizer/src/quantization.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/meshoptimizer/src/quantization.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/meshoptimizer/CMakeFiles/meshoptimizer.dir/src/quantization.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -Wall -Wextra -Wshadow -Wno-missing-field-initializers -o deps/src/lightweightvk/third-party/deps/src/meshoptimizer/CMakeFiles/meshoptimizer.dir/src/simplifier.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/meshoptimizer/src/simplifier.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/meshoptimizer/src/simplifier.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/meshoptimizer/CMakeFiles/meshoptimizer.dir/src/simplifier.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -Wall -Wextra -Wshadow -Wno-missing-field-initializers -o deps/src/lightweightvk/third-party/deps/src/meshoptimizer/CMakeFiles/meshoptimizer.dir/src/spatialorder.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/meshoptimizer/src/spatialorder.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/meshoptimizer/src/spatialorder.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/meshoptimizer/CMakeFiles/meshoptimizer.dir/src/spatialorder.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -Wall -Wextra -Wshadow -Wno-missing-field-initializers -o deps/src/lightweightvk/third-party/deps/src/meshoptimizer/CMakeFiles/meshoptimizer.dir/src/stripifier.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/meshoptimizer/src/stripifier.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/meshoptimizer/src/stripifier.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/meshoptimizer/CMakeFiles/meshoptimizer.dir/src/stripifier.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -Wall -Wextra -Wshadow -Wno-missing-field-initializers -o deps/src/lightweightvk/third-party/deps/src/meshoptimizer/CMakeFiles/meshoptimizer.dir/src/vcacheanalyzer.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/meshoptimizer/src/vcacheanalyzer.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/meshoptimizer/src/vcacheanalyzer.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/meshoptimizer/CMakeFiles/meshoptimizer.dir/src/vcacheanalyzer.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -Wall -Wextra -Wshadow -Wno-missing-field-initializers -o deps/src/lightweightvk/third-party/deps/src/meshoptimizer/CMakeFiles/meshoptimizer.dir/src/vcacheoptimizer.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/meshoptimizer/src/vcacheoptimizer.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/meshoptimizer/src/vcacheoptimizer.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/meshoptimizer/CMakeFiles/meshoptimizer.dir/src/vcacheoptimizer.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -Wall -Wextra -Wshadow -Wno-missing-field-initializers -o deps/src/lightweightvk/third-party/deps/src/meshoptimizer/CMakeFiles/meshoptimizer.dir/src/vertexcodec.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/meshoptimizer/src/vertexcodec.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/meshoptimizer/src/vertexcodec.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/meshoptimizer/CMakeFiles/meshoptimizer.dir/src/vertexcodec.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -Wall -Wextra -Wshadow -Wno-missing-field-initializers -o deps/src/lightweightvk/third-party/deps/src/meshoptimizer/CMakeFiles/meshoptimizer.dir/src/vertexfilter.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/meshoptimizer/src/vertexfilter.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/meshoptimizer/src/vertexfilter.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/meshoptimizer/CMakeFiles/meshoptimizer.dir/src/vertexfilter.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -Wall -Wextra -Wshadow -Wno-missing-field-initializers -o deps/src/lightweightvk/third-party/deps/src/meshoptimizer/CMakeFiles/meshoptimizer.dir/src/vfetchanalyzer.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/meshoptimizer/src/vfetchanalyzer.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/meshoptimizer/src/vfetchanalyzer.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/meshoptimizer/CMakeFiles/meshoptimizer.dir/src/vfetchanalyzer.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -Wall -Wextra -Wshadow -Wno-missing-field-initializers -o deps/src/lightweightvk/third-party/deps/src/meshoptimizer/CMakeFiles/meshoptimizer.dir/src/vfetchoptimizer.cpp.o -c /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/meshoptimizer/src/vfetchoptimizer.cpp", + "file": "/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/meshoptimizer/src/vfetchoptimizer.cpp", + "output": "deps/src/lightweightvk/third-party/deps/src/meshoptimizer/CMakeFiles/meshoptimizer.dir/src/vfetchoptimizer.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DGLM_ENABLE_EXPERIMENTAL -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_FEATURE_WRITE -DLVK_WITH_GLFW=1 -DLVK_WITH_IMPLOT=1 -DLVK_WITH_TRACY=1 -DLVK_WITH_TRACY_GPU=1 -DTRACY_ENABLE -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/taskflow -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glm -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/imgui -I/home/zoey/dev/vk-book -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/.. -I/home/zoey/dev/vk-book/build/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ldrutils/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/lvk -I/home/zoey/dev/vk-book/deps/src/lightweightvk -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/volk -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/vma/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/stb -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/tracy/public -std=gnu++20 -mavx2 -o shared/CMakeFiles/SharedUtils.dir/HelpersGLFW.cpp.o -c /home/zoey/dev/vk-book/shared/HelpersGLFW.cpp", + "file": "/home/zoey/dev/vk-book/shared/HelpersGLFW.cpp", + "output": "shared/CMakeFiles/SharedUtils.dir/HelpersGLFW.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DGLM_ENABLE_EXPERIMENTAL -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_FEATURE_WRITE -DLVK_WITH_GLFW=1 -DLVK_WITH_IMPLOT=1 -DLVK_WITH_TRACY=1 -DLVK_WITH_TRACY_GPU=1 -DTRACY_ENABLE -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/taskflow -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glm -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/imgui -I/home/zoey/dev/vk-book -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/.. -I/home/zoey/dev/vk-book/build/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ldrutils/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/lvk -I/home/zoey/dev/vk-book/deps/src/lightweightvk -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/volk -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/vma/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/stb -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/tracy/public -std=gnu++20 -mavx2 -o shared/CMakeFiles/SharedUtils.dir/LineCanvas.cpp.o -c /home/zoey/dev/vk-book/shared/LineCanvas.cpp", + "file": "/home/zoey/dev/vk-book/shared/LineCanvas.cpp", + "output": "shared/CMakeFiles/SharedUtils.dir/LineCanvas.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DGLM_ENABLE_EXPERIMENTAL -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_FEATURE_WRITE -DLVK_WITH_GLFW=1 -DLVK_WITH_IMPLOT=1 -DLVK_WITH_TRACY=1 -DLVK_WITH_TRACY_GPU=1 -DTRACY_ENABLE -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/taskflow -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glm -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/imgui -I/home/zoey/dev/vk-book -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/.. -I/home/zoey/dev/vk-book/build/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ldrutils/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/lvk -I/home/zoey/dev/vk-book/deps/src/lightweightvk -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/volk -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/vma/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/stb -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/tracy/public -std=gnu++20 -mavx2 -o shared/CMakeFiles/SharedUtils.dir/Scene/MergeUtil.cpp.o -c /home/zoey/dev/vk-book/shared/Scene/MergeUtil.cpp", + "file": "/home/zoey/dev/vk-book/shared/Scene/MergeUtil.cpp", + "output": "shared/CMakeFiles/SharedUtils.dir/Scene/MergeUtil.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DGLM_ENABLE_EXPERIMENTAL -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_FEATURE_WRITE -DLVK_WITH_GLFW=1 -DLVK_WITH_IMPLOT=1 -DLVK_WITH_TRACY=1 -DLVK_WITH_TRACY_GPU=1 -DTRACY_ENABLE -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/taskflow -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glm -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/imgui -I/home/zoey/dev/vk-book -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/.. -I/home/zoey/dev/vk-book/build/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ldrutils/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/lvk -I/home/zoey/dev/vk-book/deps/src/lightweightvk -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/volk -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/vma/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/stb -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/tracy/public -std=gnu++20 -mavx2 -o shared/CMakeFiles/SharedUtils.dir/Scene/Scene.cpp.o -c /home/zoey/dev/vk-book/shared/Scene/Scene.cpp", + "file": "/home/zoey/dev/vk-book/shared/Scene/Scene.cpp", + "output": "shared/CMakeFiles/SharedUtils.dir/Scene/Scene.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DGLM_ENABLE_EXPERIMENTAL -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_FEATURE_WRITE -DLVK_WITH_GLFW=1 -DLVK_WITH_IMPLOT=1 -DLVK_WITH_TRACY=1 -DLVK_WITH_TRACY_GPU=1 -DTRACY_ENABLE -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/taskflow -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glm -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/imgui -I/home/zoey/dev/vk-book -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/.. -I/home/zoey/dev/vk-book/build/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ldrutils/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/lvk -I/home/zoey/dev/vk-book/deps/src/lightweightvk -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/volk -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/vma/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/stb -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/tracy/public -std=gnu++20 -mavx2 -o shared/CMakeFiles/SharedUtils.dir/Scene/VtxData.cpp.o -c /home/zoey/dev/vk-book/shared/Scene/VtxData.cpp", + "file": "/home/zoey/dev/vk-book/shared/Scene/VtxData.cpp", + "output": "shared/CMakeFiles/SharedUtils.dir/Scene/VtxData.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DGLM_ENABLE_EXPERIMENTAL -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_FEATURE_WRITE -DLVK_WITH_GLFW=1 -DLVK_WITH_IMPLOT=1 -DLVK_WITH_TRACY=1 -DLVK_WITH_TRACY_GPU=1 -DTRACY_ENABLE -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/taskflow -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glm -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/imgui -I/home/zoey/dev/vk-book -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/.. -I/home/zoey/dev/vk-book/build/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ldrutils/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/lvk -I/home/zoey/dev/vk-book/deps/src/lightweightvk -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/volk -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/vma/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/stb -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/tracy/public -std=gnu++20 -mavx2 -o shared/CMakeFiles/SharedUtils.dir/Utils.cpp.o -c /home/zoey/dev/vk-book/shared/Utils.cpp", + "file": "/home/zoey/dev/vk-book/shared/Utils.cpp", + "output": "shared/CMakeFiles/SharedUtils.dir/Utils.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DGLM_ENABLE_EXPERIMENTAL -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_FEATURE_WRITE -DLVK_WITH_GLFW=1 -DLVK_WITH_IMPLOT=1 -DLVK_WITH_TRACY=1 -DLVK_WITH_TRACY_GPU=1 -DTRACY_ENABLE -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/taskflow -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glm -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/imgui -I/home/zoey/dev/vk-book -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/.. -I/home/zoey/dev/vk-book/build/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ldrutils/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/lvk -I/home/zoey/dev/vk-book/deps/src/lightweightvk -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/volk -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/vma/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/stb -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/tracy/public -std=gnu++20 -mavx2 -o shared/CMakeFiles/SharedUtils.dir/UtilsAnim.cpp.o -c /home/zoey/dev/vk-book/shared/UtilsAnim.cpp", + "file": "/home/zoey/dev/vk-book/shared/UtilsAnim.cpp", + "output": "shared/CMakeFiles/SharedUtils.dir/UtilsAnim.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DGLM_ENABLE_EXPERIMENTAL -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_FEATURE_WRITE -DLVK_WITH_GLFW=1 -DLVK_WITH_IMPLOT=1 -DLVK_WITH_TRACY=1 -DLVK_WITH_TRACY_GPU=1 -DTRACY_ENABLE -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/taskflow -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glm -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/imgui -I/home/zoey/dev/vk-book -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/.. -I/home/zoey/dev/vk-book/build/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ldrutils/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/lvk -I/home/zoey/dev/vk-book/deps/src/lightweightvk -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/volk -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/vma/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/stb -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/tracy/public -std=gnu++20 -mavx2 -o shared/CMakeFiles/SharedUtils.dir/UtilsCubemap.cpp.o -c /home/zoey/dev/vk-book/shared/UtilsCubemap.cpp", + "file": "/home/zoey/dev/vk-book/shared/UtilsCubemap.cpp", + "output": "shared/CMakeFiles/SharedUtils.dir/UtilsCubemap.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DGLM_ENABLE_EXPERIMENTAL -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_FEATURE_WRITE -DLVK_WITH_GLFW=1 -DLVK_WITH_IMPLOT=1 -DLVK_WITH_TRACY=1 -DLVK_WITH_TRACY_GPU=1 -DTRACY_ENABLE -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/taskflow -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glm -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/imgui -I/home/zoey/dev/vk-book -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/.. -I/home/zoey/dev/vk-book/build/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ldrutils/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/lvk -I/home/zoey/dev/vk-book/deps/src/lightweightvk -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/volk -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/vma/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/stb -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/tracy/public -std=gnu++20 -mavx2 -o shared/CMakeFiles/SharedUtils.dir/UtilsGLTF.cpp.o -c /home/zoey/dev/vk-book/shared/UtilsGLTF.cpp", + "file": "/home/zoey/dev/vk-book/shared/UtilsGLTF.cpp", + "output": "shared/CMakeFiles/SharedUtils.dir/UtilsGLTF.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DGLM_ENABLE_EXPERIMENTAL -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_FEATURE_WRITE -DLVK_WITH_GLFW=1 -DLVK_WITH_IMPLOT=1 -DLVK_WITH_TRACY=1 -DLVK_WITH_TRACY_GPU=1 -DTRACY_ENABLE -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/taskflow -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glm -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/imgui -I/home/zoey/dev/vk-book -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/.. -I/home/zoey/dev/vk-book/build/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ldrutils/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/lvk -I/home/zoey/dev/vk-book/deps/src/lightweightvk -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/volk -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/vma/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/stb -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/tracy/public -std=gnu++20 -mavx2 -o shared/CMakeFiles/SharedUtils.dir/VulkanApp.cpp.o -c /home/zoey/dev/vk-book/shared/VulkanApp.cpp", + "file": "/home/zoey/dev/vk-book/shared/VulkanApp.cpp", + "output": "shared/CMakeFiles/SharedUtils.dir/VulkanApp.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DGLM_ENABLE_EXPERIMENTAL -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/taskflow -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glm -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/imgui -I/home/zoey/dev/vk-book/Chapter01/01_CMake/src -isystem /nix/store/nkri28aqphfgp4c9xbiizrkc4wq0yymz-wayland-1.23.1-dev/include -isystem /nix/store/phqrkkdd3422l1l1jjcqj7ngr4jq2q96-libxkbcommon-1.8.1-dev/include -isystem /nix/store/4ids8zq9yv82i9x44bh9gak25q5w9lph-libffi-3.4.8-dev/include -isystem /nix/store/qqma6s4b9fllphlqvxpa71r8fjcfqamq-libX11-1.8.12-dev/include -isystem /nix/store/65fy49a9kgg0sigjbsrs1akiacfi5nj3-xorgproto-2024.1/include -isystem /nix/store/2cw6b26lg892dni10jikf9265x8m5z3d-libxcb-1.17.0-dev/include -isystem /nix/store/za0ldlvlayj2v6f20d2kql4381gpypz5-libXrandr-1.5.4-dev/include -isystem /nix/store/j00q3kfxkhy2yvw54iq00q6i9brqm0gq-libXrender-0.9.12-dev/include -isystem /nix/store/k255rcsx8q9f6q5y9d3d20j3x3rd7yyv-libXinerama-1.1.5-dev/include -isystem /nix/store/zngm1l5kk6lfly2azmf707vw5na0barl-libXcursor-1.2.3-dev/include -isystem /nix/store/xxkb2vxhp0pn1270a4byb0j4vmn2d1bf-libXi-1.8.2-dev/include -isystem /nix/store/wnafaa411xgp35mj5rl5f0b6r57dhm74-libXfixes-6.0.1-dev/include -isystem /nix/store/6hflfaz91sxhp4ld468745d3zmsih4ng-libXext-1.3.6-dev/include -isystem /nix/store/5lh33kxjzl0g76ik5ckjxbj8b8i9v9al-libXau-1.0.12-dev/include -isystem /nix/store/zi25r4vsyamsvgpvsz5yqaj3ykhv8cr3-vulkan-headers-1.4.309.0/include -isystem /nix/store/mfdr1dnk1c2kdlmsmhjjbr1wg4vmv84d-libglvnd-1.7.0-dev/include -isystem /nix/store/fzayxa8yiwjz4c4aafny71cw6izqn2h2-tbb-2020.3-dev/include -isystem /nix/store/kjvgj2n3yn70hmjifg6y0bk9m4rf7jba-python3-3.12.10/include -isystem /nix/store/8d7ig6g10cbm1f7ssqmsx8jc52rhgqpz-compiler-rt-libc-19.1.7-dev/include -isystem /nix/store/24sdvjs6rfqs69d21gdn437mb3vc0svh-gcc-14.2.1.20250322/include/c++/14.2.1.20250322 -isystem /nix/store/24sdvjs6rfqs69d21gdn437mb3vc0svh-gcc-14.2.1.20250322/include/c++/14.2.1.20250322/x86_64-unknown-linux-gnu -isystem /nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/resource-root/include -isystem /nix/store/cjmda5agi5ddwf4x43v7x20fm7p39047-glibc-2.40-66-dev/include -std=gnu++20 -o Chapter01/01_CMake/CMakeFiles/Ch01_Sample01_Cmake.dir/src/main.cpp.o -c /home/zoey/dev/vk-book/Chapter01/01_CMake/src/main.cpp", + "file": "/home/zoey/dev/vk-book/Chapter01/01_CMake/src/main.cpp", + "output": "Chapter01/01_CMake/CMakeFiles/Ch01_Sample01_Cmake.dir/src/main.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DGLM_ENABLE_EXPERIMENTAL -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_FEATURE_WRITE -DLVK_WITH_GLFW=1 -DLVK_WITH_IMPLOT=1 -DLVK_WITH_TRACY=1 -DLVK_WITH_TRACY_GPU=1 -DTRACY_ENABLE -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/taskflow -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glm -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/imgui -I/home/zoey/dev/vk-book/Chapter01/02_GLFW/src -I/home/zoey/dev/vk-book -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/.. -I/home/zoey/dev/vk-book/build/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ldrutils/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/lvk -I/home/zoey/dev/vk-book/deps/src/lightweightvk -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/volk -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/vma/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/stb -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/tracy/public -isystem /nix/store/nkri28aqphfgp4c9xbiizrkc4wq0yymz-wayland-1.23.1-dev/include -isystem /nix/store/phqrkkdd3422l1l1jjcqj7ngr4jq2q96-libxkbcommon-1.8.1-dev/include -isystem /nix/store/4ids8zq9yv82i9x44bh9gak25q5w9lph-libffi-3.4.8-dev/include -isystem /nix/store/qqma6s4b9fllphlqvxpa71r8fjcfqamq-libX11-1.8.12-dev/include -isystem /nix/store/65fy49a9kgg0sigjbsrs1akiacfi5nj3-xorgproto-2024.1/include -isystem /nix/store/2cw6b26lg892dni10jikf9265x8m5z3d-libxcb-1.17.0-dev/include -isystem /nix/store/za0ldlvlayj2v6f20d2kql4381gpypz5-libXrandr-1.5.4-dev/include -isystem /nix/store/j00q3kfxkhy2yvw54iq00q6i9brqm0gq-libXrender-0.9.12-dev/include -isystem /nix/store/k255rcsx8q9f6q5y9d3d20j3x3rd7yyv-libXinerama-1.1.5-dev/include -isystem /nix/store/zngm1l5kk6lfly2azmf707vw5na0barl-libXcursor-1.2.3-dev/include -isystem /nix/store/xxkb2vxhp0pn1270a4byb0j4vmn2d1bf-libXi-1.8.2-dev/include -isystem /nix/store/wnafaa411xgp35mj5rl5f0b6r57dhm74-libXfixes-6.0.1-dev/include -isystem /nix/store/6hflfaz91sxhp4ld468745d3zmsih4ng-libXext-1.3.6-dev/include -isystem /nix/store/5lh33kxjzl0g76ik5ckjxbj8b8i9v9al-libXau-1.0.12-dev/include -isystem /nix/store/zi25r4vsyamsvgpvsz5yqaj3ykhv8cr3-vulkan-headers-1.4.309.0/include -isystem /nix/store/mfdr1dnk1c2kdlmsmhjjbr1wg4vmv84d-libglvnd-1.7.0-dev/include -isystem /nix/store/fzayxa8yiwjz4c4aafny71cw6izqn2h2-tbb-2020.3-dev/include -isystem /nix/store/kjvgj2n3yn70hmjifg6y0bk9m4rf7jba-python3-3.12.10/include -isystem /nix/store/8d7ig6g10cbm1f7ssqmsx8jc52rhgqpz-compiler-rt-libc-19.1.7-dev/include -isystem /nix/store/24sdvjs6rfqs69d21gdn437mb3vc0svh-gcc-14.2.1.20250322/include/c++/14.2.1.20250322 -isystem /nix/store/24sdvjs6rfqs69d21gdn437mb3vc0svh-gcc-14.2.1.20250322/include/c++/14.2.1.20250322/x86_64-unknown-linux-gnu -isystem /nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/resource-root/include -isystem /nix/store/cjmda5agi5ddwf4x43v7x20fm7p39047-glibc-2.40-66-dev/include -std=gnu++20 -mavx2 -o Chapter01/02_GLFW/CMakeFiles/Ch01_Sample02_GLFW.dir/src/main.cpp.o -c /home/zoey/dev/vk-book/Chapter01/02_GLFW/src/main.cpp", + "file": "/home/zoey/dev/vk-book/Chapter01/02_GLFW/src/main.cpp", + "output": "Chapter01/02_GLFW/CMakeFiles/Ch01_Sample02_GLFW.dir/src/main.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DGLM_ENABLE_EXPERIMENTAL -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_FEATURE_WRITE -DLVK_WITH_GLFW=1 -DLVK_WITH_IMPLOT=1 -DLVK_WITH_TRACY=1 -DLVK_WITH_TRACY_GPU=1 -DTRACY_ENABLE -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/taskflow -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glm -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/imgui -I/home/zoey/dev/vk-book/Chapter01/03_Taskflow/src -I/home/zoey/dev/vk-book -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/.. -I/home/zoey/dev/vk-book/build/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ldrutils/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/lvk -I/home/zoey/dev/vk-book/deps/src/lightweightvk -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/volk -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/vma/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/stb -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/tracy/public -isystem /nix/store/nkri28aqphfgp4c9xbiizrkc4wq0yymz-wayland-1.23.1-dev/include -isystem /nix/store/phqrkkdd3422l1l1jjcqj7ngr4jq2q96-libxkbcommon-1.8.1-dev/include -isystem /nix/store/4ids8zq9yv82i9x44bh9gak25q5w9lph-libffi-3.4.8-dev/include -isystem /nix/store/qqma6s4b9fllphlqvxpa71r8fjcfqamq-libX11-1.8.12-dev/include -isystem /nix/store/65fy49a9kgg0sigjbsrs1akiacfi5nj3-xorgproto-2024.1/include -isystem /nix/store/2cw6b26lg892dni10jikf9265x8m5z3d-libxcb-1.17.0-dev/include -isystem /nix/store/za0ldlvlayj2v6f20d2kql4381gpypz5-libXrandr-1.5.4-dev/include -isystem /nix/store/j00q3kfxkhy2yvw54iq00q6i9brqm0gq-libXrender-0.9.12-dev/include -isystem /nix/store/k255rcsx8q9f6q5y9d3d20j3x3rd7yyv-libXinerama-1.1.5-dev/include -isystem /nix/store/zngm1l5kk6lfly2azmf707vw5na0barl-libXcursor-1.2.3-dev/include -isystem /nix/store/xxkb2vxhp0pn1270a4byb0j4vmn2d1bf-libXi-1.8.2-dev/include -isystem /nix/store/wnafaa411xgp35mj5rl5f0b6r57dhm74-libXfixes-6.0.1-dev/include -isystem /nix/store/6hflfaz91sxhp4ld468745d3zmsih4ng-libXext-1.3.6-dev/include -isystem /nix/store/5lh33kxjzl0g76ik5ckjxbj8b8i9v9al-libXau-1.0.12-dev/include -isystem /nix/store/zi25r4vsyamsvgpvsz5yqaj3ykhv8cr3-vulkan-headers-1.4.309.0/include -isystem /nix/store/mfdr1dnk1c2kdlmsmhjjbr1wg4vmv84d-libglvnd-1.7.0-dev/include -isystem /nix/store/fzayxa8yiwjz4c4aafny71cw6izqn2h2-tbb-2020.3-dev/include -isystem /nix/store/kjvgj2n3yn70hmjifg6y0bk9m4rf7jba-python3-3.12.10/include -isystem /nix/store/8d7ig6g10cbm1f7ssqmsx8jc52rhgqpz-compiler-rt-libc-19.1.7-dev/include -isystem /nix/store/24sdvjs6rfqs69d21gdn437mb3vc0svh-gcc-14.2.1.20250322/include/c++/14.2.1.20250322 -isystem /nix/store/24sdvjs6rfqs69d21gdn437mb3vc0svh-gcc-14.2.1.20250322/include/c++/14.2.1.20250322/x86_64-unknown-linux-gnu -isystem /nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/resource-root/include -isystem /nix/store/cjmda5agi5ddwf4x43v7x20fm7p39047-glibc-2.40-66-dev/include -std=gnu++20 -mavx2 -o Chapter01/03_Taskflow/CMakeFiles/Ch01_03_Taskflow.dir/src/main.cpp.o -c /home/zoey/dev/vk-book/Chapter01/03_Taskflow/src/main.cpp", + "file": "/home/zoey/dev/vk-book/Chapter01/03_Taskflow/src/main.cpp", + "output": "Chapter01/03_Taskflow/CMakeFiles/Ch01_03_Taskflow.dir/src/main.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DGLM_ENABLE_EXPERIMENTAL -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_FEATURE_WRITE -DLVK_WITH_GLFW=1 -DLVK_WITH_IMPLOT=1 -DLVK_WITH_TRACY=1 -DLVK_WITH_TRACY_GPU=1 -DTRACY_ENABLE -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/taskflow -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glm -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/imgui -I/home/zoey/dev/vk-book/Chapter01/04_GLSLang/src -I/home/zoey/dev/vk-book -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/.. -I/home/zoey/dev/vk-book/build/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ldrutils/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/lvk -I/home/zoey/dev/vk-book/deps/src/lightweightvk -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/volk -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/vma/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/stb -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/tracy/public -isystem /nix/store/nkri28aqphfgp4c9xbiizrkc4wq0yymz-wayland-1.23.1-dev/include -isystem /nix/store/phqrkkdd3422l1l1jjcqj7ngr4jq2q96-libxkbcommon-1.8.1-dev/include -isystem /nix/store/4ids8zq9yv82i9x44bh9gak25q5w9lph-libffi-3.4.8-dev/include -isystem /nix/store/qqma6s4b9fllphlqvxpa71r8fjcfqamq-libX11-1.8.12-dev/include -isystem /nix/store/65fy49a9kgg0sigjbsrs1akiacfi5nj3-xorgproto-2024.1/include -isystem /nix/store/2cw6b26lg892dni10jikf9265x8m5z3d-libxcb-1.17.0-dev/include -isystem /nix/store/za0ldlvlayj2v6f20d2kql4381gpypz5-libXrandr-1.5.4-dev/include -isystem /nix/store/j00q3kfxkhy2yvw54iq00q6i9brqm0gq-libXrender-0.9.12-dev/include -isystem /nix/store/k255rcsx8q9f6q5y9d3d20j3x3rd7yyv-libXinerama-1.1.5-dev/include -isystem /nix/store/zngm1l5kk6lfly2azmf707vw5na0barl-libXcursor-1.2.3-dev/include -isystem /nix/store/xxkb2vxhp0pn1270a4byb0j4vmn2d1bf-libXi-1.8.2-dev/include -isystem /nix/store/wnafaa411xgp35mj5rl5f0b6r57dhm74-libXfixes-6.0.1-dev/include -isystem /nix/store/6hflfaz91sxhp4ld468745d3zmsih4ng-libXext-1.3.6-dev/include -isystem /nix/store/5lh33kxjzl0g76ik5ckjxbj8b8i9v9al-libXau-1.0.12-dev/include -isystem /nix/store/zi25r4vsyamsvgpvsz5yqaj3ykhv8cr3-vulkan-headers-1.4.309.0/include -isystem /nix/store/mfdr1dnk1c2kdlmsmhjjbr1wg4vmv84d-libglvnd-1.7.0-dev/include -isystem /nix/store/fzayxa8yiwjz4c4aafny71cw6izqn2h2-tbb-2020.3-dev/include -isystem /nix/store/kjvgj2n3yn70hmjifg6y0bk9m4rf7jba-python3-3.12.10/include -isystem /nix/store/8d7ig6g10cbm1f7ssqmsx8jc52rhgqpz-compiler-rt-libc-19.1.7-dev/include -isystem /nix/store/24sdvjs6rfqs69d21gdn437mb3vc0svh-gcc-14.2.1.20250322/include/c++/14.2.1.20250322 -isystem /nix/store/24sdvjs6rfqs69d21gdn437mb3vc0svh-gcc-14.2.1.20250322/include/c++/14.2.1.20250322/x86_64-unknown-linux-gnu -isystem /nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/resource-root/include -isystem /nix/store/cjmda5agi5ddwf4x43v7x20fm7p39047-glibc-2.40-66-dev/include -std=gnu++20 -mavx2 -o Chapter01/04_GLSLang/CMakeFiles/Ch01_04_GLSLang.dir/src/main.cpp.o -c /home/zoey/dev/vk-book/Chapter01/04_GLSLang/src/main.cpp", + "file": "/home/zoey/dev/vk-book/Chapter01/04_GLSLang/src/main.cpp", + "output": "Chapter01/04_GLSLang/CMakeFiles/Ch01_04_GLSLang.dir/src/main.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DGLM_ENABLE_EXPERIMENTAL -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_FEATURE_WRITE -DLVK_WITH_GLFW=1 -DLVK_WITH_IMPLOT=1 -DLVK_WITH_TRACY=1 -DLVK_WITH_TRACY_GPU=1 -DTRACY_ENABLE -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/taskflow -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glm -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/imgui -I/home/zoey/dev/vk-book/Chapter01/05_BC7Compression/src -I/home/zoey/dev/vk-book -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/.. -I/home/zoey/dev/vk-book/build/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ldrutils/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/lvk -I/home/zoey/dev/vk-book/deps/src/lightweightvk -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/volk -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/vma/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/stb -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/tracy/public -isystem /nix/store/nkri28aqphfgp4c9xbiizrkc4wq0yymz-wayland-1.23.1-dev/include -isystem /nix/store/phqrkkdd3422l1l1jjcqj7ngr4jq2q96-libxkbcommon-1.8.1-dev/include -isystem /nix/store/4ids8zq9yv82i9x44bh9gak25q5w9lph-libffi-3.4.8-dev/include -isystem /nix/store/qqma6s4b9fllphlqvxpa71r8fjcfqamq-libX11-1.8.12-dev/include -isystem /nix/store/65fy49a9kgg0sigjbsrs1akiacfi5nj3-xorgproto-2024.1/include -isystem /nix/store/2cw6b26lg892dni10jikf9265x8m5z3d-libxcb-1.17.0-dev/include -isystem /nix/store/za0ldlvlayj2v6f20d2kql4381gpypz5-libXrandr-1.5.4-dev/include -isystem /nix/store/j00q3kfxkhy2yvw54iq00q6i9brqm0gq-libXrender-0.9.12-dev/include -isystem /nix/store/k255rcsx8q9f6q5y9d3d20j3x3rd7yyv-libXinerama-1.1.5-dev/include -isystem /nix/store/zngm1l5kk6lfly2azmf707vw5na0barl-libXcursor-1.2.3-dev/include -isystem /nix/store/xxkb2vxhp0pn1270a4byb0j4vmn2d1bf-libXi-1.8.2-dev/include -isystem /nix/store/wnafaa411xgp35mj5rl5f0b6r57dhm74-libXfixes-6.0.1-dev/include -isystem /nix/store/6hflfaz91sxhp4ld468745d3zmsih4ng-libXext-1.3.6-dev/include -isystem /nix/store/5lh33kxjzl0g76ik5ckjxbj8b8i9v9al-libXau-1.0.12-dev/include -isystem /nix/store/zi25r4vsyamsvgpvsz5yqaj3ykhv8cr3-vulkan-headers-1.4.309.0/include -isystem /nix/store/mfdr1dnk1c2kdlmsmhjjbr1wg4vmv84d-libglvnd-1.7.0-dev/include -isystem /nix/store/fzayxa8yiwjz4c4aafny71cw6izqn2h2-tbb-2020.3-dev/include -isystem /nix/store/kjvgj2n3yn70hmjifg6y0bk9m4rf7jba-python3-3.12.10/include -isystem /nix/store/8d7ig6g10cbm1f7ssqmsx8jc52rhgqpz-compiler-rt-libc-19.1.7-dev/include -isystem /nix/store/24sdvjs6rfqs69d21gdn437mb3vc0svh-gcc-14.2.1.20250322/include/c++/14.2.1.20250322 -isystem /nix/store/24sdvjs6rfqs69d21gdn437mb3vc0svh-gcc-14.2.1.20250322/include/c++/14.2.1.20250322/x86_64-unknown-linux-gnu -isystem /nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/resource-root/include -isystem /nix/store/cjmda5agi5ddwf4x43v7x20fm7p39047-glibc-2.40-66-dev/include -std=gnu++20 -mavx2 -o Chapter01/05_BC7Compression/CMakeFiles/Ch01_05_BC7Compression.dir/src/main.cpp.o -c /home/zoey/dev/vk-book/Chapter01/05_BC7Compression/src/main.cpp", + "file": "/home/zoey/dev/vk-book/Chapter01/05_BC7Compression/src/main.cpp", + "output": "Chapter01/05_BC7Compression/CMakeFiles/Ch01_05_BC7Compression.dir/src/main.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DGLM_ENABLE_EXPERIMENTAL -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_FEATURE_WRITE -DLVK_WITH_GLFW=1 -DLVK_WITH_IMPLOT=1 -DLVK_WITH_TRACY=1 -DLVK_WITH_TRACY_GPU=1 -DTRACY_ENABLE -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/taskflow -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glm -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/imgui -I/home/zoey/dev/vk-book/Chapter02/01_Swapchain/src -I/home/zoey/dev/vk-book -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/.. -I/home/zoey/dev/vk-book/build/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ldrutils/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/lvk -I/home/zoey/dev/vk-book/deps/src/lightweightvk -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/volk -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/vma/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/stb -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/tracy/public -isystem /nix/store/nkri28aqphfgp4c9xbiizrkc4wq0yymz-wayland-1.23.1-dev/include -isystem /nix/store/phqrkkdd3422l1l1jjcqj7ngr4jq2q96-libxkbcommon-1.8.1-dev/include -isystem /nix/store/4ids8zq9yv82i9x44bh9gak25q5w9lph-libffi-3.4.8-dev/include -isystem /nix/store/qqma6s4b9fllphlqvxpa71r8fjcfqamq-libX11-1.8.12-dev/include -isystem /nix/store/65fy49a9kgg0sigjbsrs1akiacfi5nj3-xorgproto-2024.1/include -isystem /nix/store/2cw6b26lg892dni10jikf9265x8m5z3d-libxcb-1.17.0-dev/include -isystem /nix/store/za0ldlvlayj2v6f20d2kql4381gpypz5-libXrandr-1.5.4-dev/include -isystem /nix/store/j00q3kfxkhy2yvw54iq00q6i9brqm0gq-libXrender-0.9.12-dev/include -isystem /nix/store/k255rcsx8q9f6q5y9d3d20j3x3rd7yyv-libXinerama-1.1.5-dev/include -isystem /nix/store/zngm1l5kk6lfly2azmf707vw5na0barl-libXcursor-1.2.3-dev/include -isystem /nix/store/xxkb2vxhp0pn1270a4byb0j4vmn2d1bf-libXi-1.8.2-dev/include -isystem /nix/store/wnafaa411xgp35mj5rl5f0b6r57dhm74-libXfixes-6.0.1-dev/include -isystem /nix/store/6hflfaz91sxhp4ld468745d3zmsih4ng-libXext-1.3.6-dev/include -isystem /nix/store/5lh33kxjzl0g76ik5ckjxbj8b8i9v9al-libXau-1.0.12-dev/include -isystem /nix/store/zi25r4vsyamsvgpvsz5yqaj3ykhv8cr3-vulkan-headers-1.4.309.0/include -isystem /nix/store/mfdr1dnk1c2kdlmsmhjjbr1wg4vmv84d-libglvnd-1.7.0-dev/include -isystem /nix/store/fzayxa8yiwjz4c4aafny71cw6izqn2h2-tbb-2020.3-dev/include -isystem /nix/store/kjvgj2n3yn70hmjifg6y0bk9m4rf7jba-python3-3.12.10/include -isystem /nix/store/8d7ig6g10cbm1f7ssqmsx8jc52rhgqpz-compiler-rt-libc-19.1.7-dev/include -isystem /nix/store/24sdvjs6rfqs69d21gdn437mb3vc0svh-gcc-14.2.1.20250322/include/c++/14.2.1.20250322 -isystem /nix/store/24sdvjs6rfqs69d21gdn437mb3vc0svh-gcc-14.2.1.20250322/include/c++/14.2.1.20250322/x86_64-unknown-linux-gnu -isystem /nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/resource-root/include -isystem /nix/store/cjmda5agi5ddwf4x43v7x20fm7p39047-glibc-2.40-66-dev/include -std=gnu++20 -mavx2 -o Chapter02/01_Swapchain/CMakeFiles/Ch02_01_Swapchain.dir/src/main.cpp.o -c /home/zoey/dev/vk-book/Chapter02/01_Swapchain/src/main.cpp", + "file": "/home/zoey/dev/vk-book/Chapter02/01_Swapchain/src/main.cpp", + "output": "Chapter02/01_Swapchain/CMakeFiles/Ch02_01_Swapchain.dir/src/main.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DGLM_ENABLE_EXPERIMENTAL -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_FEATURE_WRITE -DLVK_WITH_GLFW=1 -DLVK_WITH_IMPLOT=1 -DLVK_WITH_TRACY=1 -DLVK_WITH_TRACY_GPU=1 -DTRACY_ENABLE -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/taskflow -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glm -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/imgui -I/home/zoey/dev/vk-book/Chapter03/01_Assimp/src -I/home/zoey/dev/vk-book -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/.. -I/home/zoey/dev/vk-book/build/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ldrutils/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/lvk -I/home/zoey/dev/vk-book/deps/src/lightweightvk -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/volk -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/vma/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/stb -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/tracy/public -isystem /nix/store/nkri28aqphfgp4c9xbiizrkc4wq0yymz-wayland-1.23.1-dev/include -isystem /nix/store/phqrkkdd3422l1l1jjcqj7ngr4jq2q96-libxkbcommon-1.8.1-dev/include -isystem /nix/store/4ids8zq9yv82i9x44bh9gak25q5w9lph-libffi-3.4.8-dev/include -isystem /nix/store/qqma6s4b9fllphlqvxpa71r8fjcfqamq-libX11-1.8.12-dev/include -isystem /nix/store/65fy49a9kgg0sigjbsrs1akiacfi5nj3-xorgproto-2024.1/include -isystem /nix/store/2cw6b26lg892dni10jikf9265x8m5z3d-libxcb-1.17.0-dev/include -isystem /nix/store/za0ldlvlayj2v6f20d2kql4381gpypz5-libXrandr-1.5.4-dev/include -isystem /nix/store/j00q3kfxkhy2yvw54iq00q6i9brqm0gq-libXrender-0.9.12-dev/include -isystem /nix/store/k255rcsx8q9f6q5y9d3d20j3x3rd7yyv-libXinerama-1.1.5-dev/include -isystem /nix/store/zngm1l5kk6lfly2azmf707vw5na0barl-libXcursor-1.2.3-dev/include -isystem /nix/store/xxkb2vxhp0pn1270a4byb0j4vmn2d1bf-libXi-1.8.2-dev/include -isystem /nix/store/wnafaa411xgp35mj5rl5f0b6r57dhm74-libXfixes-6.0.1-dev/include -isystem /nix/store/6hflfaz91sxhp4ld468745d3zmsih4ng-libXext-1.3.6-dev/include -isystem /nix/store/5lh33kxjzl0g76ik5ckjxbj8b8i9v9al-libXau-1.0.12-dev/include -isystem /nix/store/zi25r4vsyamsvgpvsz5yqaj3ykhv8cr3-vulkan-headers-1.4.309.0/include -isystem /nix/store/mfdr1dnk1c2kdlmsmhjjbr1wg4vmv84d-libglvnd-1.7.0-dev/include -isystem /nix/store/fzayxa8yiwjz4c4aafny71cw6izqn2h2-tbb-2020.3-dev/include -isystem /nix/store/kjvgj2n3yn70hmjifg6y0bk9m4rf7jba-python3-3.12.10/include -isystem /nix/store/8d7ig6g10cbm1f7ssqmsx8jc52rhgqpz-compiler-rt-libc-19.1.7-dev/include -isystem /nix/store/24sdvjs6rfqs69d21gdn437mb3vc0svh-gcc-14.2.1.20250322/include/c++/14.2.1.20250322 -isystem /nix/store/24sdvjs6rfqs69d21gdn437mb3vc0svh-gcc-14.2.1.20250322/include/c++/14.2.1.20250322/x86_64-unknown-linux-gnu -isystem /nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/resource-root/include -isystem /nix/store/cjmda5agi5ddwf4x43v7x20fm7p39047-glibc-2.40-66-dev/include -std=gnu++20 -mavx2 -o Chapter03/01_Assimp/CMakeFiles/Ch03_01_Assimp.dir/src/main.cpp.o -c /home/zoey/dev/vk-book/Chapter03/01_Assimp/src/main.cpp", + "file": "/home/zoey/dev/vk-book/Chapter03/01_Assimp/src/main.cpp", + "output": "Chapter03/01_Assimp/CMakeFiles/Ch03_01_Assimp.dir/src/main.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DGLM_ENABLE_EXPERIMENTAL -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_FEATURE_WRITE -DLVK_WITH_GLFW=1 -DLVK_WITH_IMPLOT=1 -DLVK_WITH_TRACY=1 -DLVK_WITH_TRACY_GPU=1 -DTRACY_ENABLE -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/taskflow -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glm -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/imgui -I/home/zoey/dev/vk-book/Chapter04/04_CubeMap/src -I/home/zoey/dev/vk-book -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/.. -I/home/zoey/dev/vk-book/build/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ldrutils/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/lvk -I/home/zoey/dev/vk-book/deps/src/lightweightvk -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/volk -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/vma/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/stb -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/tracy/public -isystem /nix/store/nkri28aqphfgp4c9xbiizrkc4wq0yymz-wayland-1.23.1-dev/include -isystem /nix/store/phqrkkdd3422l1l1jjcqj7ngr4jq2q96-libxkbcommon-1.8.1-dev/include -isystem /nix/store/4ids8zq9yv82i9x44bh9gak25q5w9lph-libffi-3.4.8-dev/include -isystem /nix/store/qqma6s4b9fllphlqvxpa71r8fjcfqamq-libX11-1.8.12-dev/include -isystem /nix/store/65fy49a9kgg0sigjbsrs1akiacfi5nj3-xorgproto-2024.1/include -isystem /nix/store/2cw6b26lg892dni10jikf9265x8m5z3d-libxcb-1.17.0-dev/include -isystem /nix/store/za0ldlvlayj2v6f20d2kql4381gpypz5-libXrandr-1.5.4-dev/include -isystem /nix/store/j00q3kfxkhy2yvw54iq00q6i9brqm0gq-libXrender-0.9.12-dev/include -isystem /nix/store/k255rcsx8q9f6q5y9d3d20j3x3rd7yyv-libXinerama-1.1.5-dev/include -isystem /nix/store/zngm1l5kk6lfly2azmf707vw5na0barl-libXcursor-1.2.3-dev/include -isystem /nix/store/xxkb2vxhp0pn1270a4byb0j4vmn2d1bf-libXi-1.8.2-dev/include -isystem /nix/store/wnafaa411xgp35mj5rl5f0b6r57dhm74-libXfixes-6.0.1-dev/include -isystem /nix/store/6hflfaz91sxhp4ld468745d3zmsih4ng-libXext-1.3.6-dev/include -isystem /nix/store/5lh33kxjzl0g76ik5ckjxbj8b8i9v9al-libXau-1.0.12-dev/include -isystem /nix/store/zi25r4vsyamsvgpvsz5yqaj3ykhv8cr3-vulkan-headers-1.4.309.0/include -isystem /nix/store/mfdr1dnk1c2kdlmsmhjjbr1wg4vmv84d-libglvnd-1.7.0-dev/include -isystem /nix/store/fzayxa8yiwjz4c4aafny71cw6izqn2h2-tbb-2020.3-dev/include -isystem /nix/store/kjvgj2n3yn70hmjifg6y0bk9m4rf7jba-python3-3.12.10/include -isystem /nix/store/8d7ig6g10cbm1f7ssqmsx8jc52rhgqpz-compiler-rt-libc-19.1.7-dev/include -isystem /nix/store/24sdvjs6rfqs69d21gdn437mb3vc0svh-gcc-14.2.1.20250322/include/c++/14.2.1.20250322 -isystem /nix/store/24sdvjs6rfqs69d21gdn437mb3vc0svh-gcc-14.2.1.20250322/include/c++/14.2.1.20250322/x86_64-unknown-linux-gnu -isystem /nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/resource-root/include -isystem /nix/store/cjmda5agi5ddwf4x43v7x20fm7p39047-glibc-2.40-66-dev/include -std=gnu++20 -mavx2 -o Chapter04/04_CubeMap/CMakeFiles/Ch04_04_CubeMap.dir/src/main.cpp.o -c /home/zoey/dev/vk-book/Chapter04/04_CubeMap/src/main.cpp", + "file": "/home/zoey/dev/vk-book/Chapter04/04_CubeMap/src/main.cpp", + "output": "Chapter04/04_CubeMap/CMakeFiles/Ch04_04_CubeMap.dir/src/main.cpp.o" +}, +{ + "directory": "/home/zoey/dev/vk-book/build", + "command": "/nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/bin/clang++ -DGLM_ENABLE_EXPERIMENTAL -DKHRONOS_STATIC -DKTX_FEATURE_KTX1 -DKTX_FEATURE_KTX2 -DKTX_FEATURE_WRITE -DLVK_WITH_GLFW=1 -DLVK_WITH_IMPLOT=1 -DLVK_WITH_TRACY=1 -DLVK_WITH_TRACY_GPU=1 -DTRACY_ENABLE -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/taskflow -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glm -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/imgui -I/home/zoey/dev/vk-book/Chapter05/01_MeshOptimizer/src -I/home/zoey/dev/vk-book -I/home/zoey/dev/vk-book/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/build/deps/src/assimp/code/../include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glslang/glslang/.. -I/home/zoey/dev/vk-book/build/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/glfw/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ldrutils/. -I/home/zoey/dev/vk-book/deps/src/lightweightvk/lvk -I/home/zoey/dev/vk-book/deps/src/lightweightvk -I/home/zoey/dev/vk-book/deps/src/lightweightvk/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/volk -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/vma/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/stb -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/ktx-software/include -I/home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/meshoptimizer/src -isystem /home/zoey/dev/vk-book/deps/src/lightweightvk/third-party/deps/src/tracy/public -isystem /nix/store/nkri28aqphfgp4c9xbiizrkc4wq0yymz-wayland-1.23.1-dev/include -isystem /nix/store/phqrkkdd3422l1l1jjcqj7ngr4jq2q96-libxkbcommon-1.8.1-dev/include -isystem /nix/store/4ids8zq9yv82i9x44bh9gak25q5w9lph-libffi-3.4.8-dev/include -isystem /nix/store/qqma6s4b9fllphlqvxpa71r8fjcfqamq-libX11-1.8.12-dev/include -isystem /nix/store/65fy49a9kgg0sigjbsrs1akiacfi5nj3-xorgproto-2024.1/include -isystem /nix/store/2cw6b26lg892dni10jikf9265x8m5z3d-libxcb-1.17.0-dev/include -isystem /nix/store/za0ldlvlayj2v6f20d2kql4381gpypz5-libXrandr-1.5.4-dev/include -isystem /nix/store/j00q3kfxkhy2yvw54iq00q6i9brqm0gq-libXrender-0.9.12-dev/include -isystem /nix/store/k255rcsx8q9f6q5y9d3d20j3x3rd7yyv-libXinerama-1.1.5-dev/include -isystem /nix/store/zngm1l5kk6lfly2azmf707vw5na0barl-libXcursor-1.2.3-dev/include -isystem /nix/store/xxkb2vxhp0pn1270a4byb0j4vmn2d1bf-libXi-1.8.2-dev/include -isystem /nix/store/wnafaa411xgp35mj5rl5f0b6r57dhm74-libXfixes-6.0.1-dev/include -isystem /nix/store/6hflfaz91sxhp4ld468745d3zmsih4ng-libXext-1.3.6-dev/include -isystem /nix/store/5lh33kxjzl0g76ik5ckjxbj8b8i9v9al-libXau-1.0.12-dev/include -isystem /nix/store/zi25r4vsyamsvgpvsz5yqaj3ykhv8cr3-vulkan-headers-1.4.309.0/include -isystem /nix/store/mfdr1dnk1c2kdlmsmhjjbr1wg4vmv84d-libglvnd-1.7.0-dev/include -isystem /nix/store/fzayxa8yiwjz4c4aafny71cw6izqn2h2-tbb-2020.3-dev/include -isystem /nix/store/kjvgj2n3yn70hmjifg6y0bk9m4rf7jba-python3-3.12.10/include -isystem /nix/store/8d7ig6g10cbm1f7ssqmsx8jc52rhgqpz-compiler-rt-libc-19.1.7-dev/include -isystem /nix/store/24sdvjs6rfqs69d21gdn437mb3vc0svh-gcc-14.2.1.20250322/include/c++/14.2.1.20250322 -isystem /nix/store/24sdvjs6rfqs69d21gdn437mb3vc0svh-gcc-14.2.1.20250322/include/c++/14.2.1.20250322/x86_64-unknown-linux-gnu -isystem /nix/store/f16xdvddql4q386incjvxcys4g4dcavj-clang-wrapper-19.1.7/resource-root/include -isystem /nix/store/cjmda5agi5ddwf4x43v7x20fm7p39047-glibc-2.40-66-dev/include -std=gnu++20 -mavx2 -o Chapter05/01_MeshOptimizer/CMakeFiles/Ch05_01_MeshOptimizer.dir/src/main.cpp.o -c /home/zoey/dev/vk-book/Chapter05/01_MeshOptimizer/src/main.cpp", + "file": "/home/zoey/dev/vk-book/Chapter05/01_MeshOptimizer/src/main.cpp", + "output": "Chapter05/01_MeshOptimizer/CMakeFiles/Ch05_01_MeshOptimizer.dir/src/main.cpp.o" +} +] \ No newline at end of file diff --git a/data/CMakeLists.txt b/data/CMakeLists.txt new file mode 100644 index 0000000..4944e13 --- /dev/null +++ b/data/CMakeLists.txt @@ -0,0 +1,9 @@ +cmake_minimum_required(VERSION 3.19) + +project(SharedUtils CXX C) + +include(../CMake/CommonMacros.txt) + +file(GLOB_RECURSE SHADER_FILES LIST_DIRECTORIES false RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} shaders/gltf/*.vert shaders/gltf/*.frag shaders/gltf/*.geom shaders/gltf/*.sp src/*.comp) + +add_library(Shaders INTERFACE ${SHADER_FILES}) diff --git a/data/OpenSans-Light.ttf b/data/OpenSans-Light.ttf new file mode 100644 index 0000000..0d38189 Binary files /dev/null and b/data/OpenSans-Light.ttf differ diff --git a/data/brdfLUT.ktx b/data/brdfLUT.ktx new file mode 100644 index 0000000..3d7116b Binary files /dev/null and b/data/brdfLUT.ktx differ diff --git a/data/immenstadter_horn_2k.hdr b/data/immenstadter_horn_2k.hdr new file mode 100644 index 0000000..0ad9360 Binary files /dev/null and b/data/immenstadter_horn_2k.hdr differ diff --git a/data/immenstadter_horn_2k_ReferenceMap.ktx b/data/immenstadter_horn_2k_ReferenceMap.ktx new file mode 100644 index 0000000..46d1c2a Binary files /dev/null and b/data/immenstadter_horn_2k_ReferenceMap.ktx differ diff --git a/data/immenstadter_horn_2k_charlie.ktx b/data/immenstadter_horn_2k_charlie.ktx new file mode 100644 index 0000000..697c004 Binary files /dev/null and b/data/immenstadter_horn_2k_charlie.ktx differ diff --git a/data/immenstadter_horn_2k_irradiance.ktx b/data/immenstadter_horn_2k_irradiance.ktx new file mode 100644 index 0000000..e30af52 Binary files /dev/null and b/data/immenstadter_horn_2k_irradiance.ktx differ diff --git a/data/immenstadter_horn_2k_prefilter.ktx b/data/immenstadter_horn_2k_prefilter.ktx new file mode 100644 index 0000000..edd771e Binary files /dev/null and b/data/immenstadter_horn_2k_prefilter.ktx differ diff --git a/data/meshes/medieval_fantasy_book/license.txt b/data/meshes/medieval_fantasy_book/license.txt new file mode 100644 index 0000000..d337cde --- /dev/null +++ b/data/meshes/medieval_fantasy_book/license.txt @@ -0,0 +1,11 @@ +Model Information: +* title: Medieval Fantasy Book +* source: https://sketchfab.com/3d-models/medieval-fantasy-book-06d5a80a04fc4c5ab552759e9a97d91a +* author: Pixel (https://sketchfab.com/stefan.lengyel1) + +Model License: +* license type: CC-BY-4.0 (http://creativecommons.org/licenses/by/4.0/) +* requirements: Author must be credited. Commercial use is allowed. + +If you use this 3D model in your project be sure to copy paste this credit wherever you share it: +This work is based on "Medieval Fantasy Book" (https://sketchfab.com/3d-models/medieval-fantasy-book-06d5a80a04fc4c5ab552759e9a97d91a) by Pixel (https://sketchfab.com/stefan.lengyel1) licensed under CC-BY-4.0 (http://creativecommons.org/licenses/by/4.0/) \ No newline at end of file diff --git a/data/meshes/medieval_fantasy_book/scene.bin b/data/meshes/medieval_fantasy_book/scene.bin new file mode 100644 index 0000000..cf6e70e Binary files /dev/null and b/data/meshes/medieval_fantasy_book/scene.bin differ diff --git a/data/meshes/medieval_fantasy_book/scene.gltf b/data/meshes/medieval_fantasy_book/scene.gltf new file mode 100644 index 0000000..dbbbf24 --- /dev/null +++ b/data/meshes/medieval_fantasy_book/scene.gltf @@ -0,0 +1,1691 @@ +{ + "accessors": [ + { + "bufferView": 2, + "componentType": 5126, + "count": 65532, + "max": [ + 65.53303527832031, + 20.370933532714844, + 18.865665435791016 + ], + "min": [ + -37.53257751464844, + -50.50716018676758, + -17.564945220947266 + ], + "type": "VEC3" + }, + { + "bufferView": 2, + "byteOffset": 786384, + "componentType": 5126, + "count": 65532, + "max": [ + 1.0, + 1.0, + 1.0 + ], + "min": [ + -1.0, + -1.0, + -1.0 + ], + "type": "VEC3" + }, + { + "bufferView": 1, + "componentType": 5126, + "count": 65532, + "max": [ + 0.9976364970207214, + 0.9966511726379395 + ], + "min": [ + 0.014349725097417831, + -0.2229624092578888 + ], + "type": "VEC2" + }, + { + "bufferView": 0, + "componentType": 5125, + "count": 107631, + "type": "SCALAR" + }, + { + "bufferView": 2, + "byteOffset": 1572768, + "componentType": 5126, + "count": 21675, + "max": [ + 56.113548278808594, + 6.673999786376953, + 4.297847270965576 + ], + "min": [ + -28.25344467163086, + -51.94612121582031, + -17.697710037231445 + ], + "type": "VEC3" + }, + { + "bufferView": 2, + "byteOffset": 1832868, + "componentType": 5126, + "count": 21675, + "max": [ + 1.0, + 1.0, + 1.0 + ], + "min": [ + -1.0, + -1.0, + -1.0 + ], + "type": "VEC3" + }, + { + "bufferView": 1, + "byteOffset": 524256, + "componentType": 5126, + "count": 21675, + "max": [ + 0.99737548828125, + 0.9899556636810303 + ], + "min": [ + 0.07816880941390991, + 0.0043866559863090515 + ], + "type": "VEC2" + }, + { + "bufferView": 0, + "byteOffset": 430524, + "componentType": 5125, + "count": 44199, + "type": "SCALAR" + }, + { + "bufferView": 2, + "byteOffset": 2092968, + "componentType": 5126, + "count": 230, + "max": [ + 38.04064178466797, + 6.9396138191223145, + 9.814745903015137 + ], + "min": [ + -26.620887756347656, + -42.61917495727539, + -6.258708953857422 + ], + "type": "VEC3" + }, + { + "bufferView": 2, + "byteOffset": 2095728, + "componentType": 5126, + "count": 230, + "max": [ + 1.0, + 0.9279138445854187, + 0.9784401655197144 + ], + "min": [ + -0.9816036224365234, + -1.0, + -0.25234782695770264 + ], + "type": "VEC3" + }, + { + "bufferView": 1, + "byteOffset": 697656, + "componentType": 5126, + "count": 230, + "max": [ + 0.37912517786026, + 0.9772133231163025 + ], + "min": [ + 0.16079390048980713, + 0.1645858883857727 + ], + "type": "VEC2" + }, + { + "bufferView": 0, + "byteOffset": 607320, + "componentType": 5125, + "count": 498, + "type": "SCALAR" + }, + { + "bufferView": 2, + "byteOffset": 2098488, + "componentType": 5126, + "count": 4, + "max": [ + 2.717606544494629, + 1.7577714920043945, + -16.456607818603516 + ], + "min": [ + -28.609058380126953, + -7.2975969314575195, + -16.45660972595215 + ], + "type": "VEC3" + }, + { + "bufferView": 2, + "byteOffset": 2098536, + "componentType": 5126, + "count": 4, + "max": [ + -2.5648977570753156e-14, + 2.10631895924962e-07, + -1.0 + ], + "min": [ + -2.5648977570753156e-14, + 2.10631895924962e-07, + -1.0 + ], + "type": "VEC3" + }, + { + "bufferView": 1, + "byteOffset": 699496, + "componentType": 5126, + "count": 4, + "max": [ + 0.9999999403953552, + 1.0 + ], + "min": [ + 5.960464477539063e-08, + 0.0 + ], + "type": "VEC2" + }, + { + "bufferView": 0, + "byteOffset": 609312, + "componentType": 5125, + "count": 6, + "type": "SCALAR" + }, + { + "bufferView": 2, + "byteOffset": 2098584, + "componentType": 5126, + "count": 1113, + "max": [ + -18.102529525756836, + -37.28908920288086, + 5.69204044342041 + ], + "min": [ + -26.145282745361328, + -47.826576232910156, + -6.730576992034912 + ], + "type": "VEC3" + }, + { + "bufferView": 2, + "byteOffset": 2111940, + "componentType": 5126, + "count": 1113, + "max": [ + 0.9933804869651794, + 0.9972742199897766, + 0.9968153834342957 + ], + "min": [ + -0.9937822818756104, + -0.997882068157196, + -0.9935513138771057 + ], + "type": "VEC3" + }, + { + "bufferView": 1, + "byteOffset": 699528, + "componentType": 5126, + "count": 1113, + "max": [ + 0.6502935886383057, + 0.19471192359924316 + ], + "min": [ + 0.1989009529352188, + 0.06762106716632843 + ], + "type": "VEC2" + }, + { + "bufferView": 0, + "byteOffset": 609336, + "componentType": 5125, + "count": 1980, + "type": "SCALAR" + }, + { + "bufferView": 2, + "byteOffset": 2125296, + "componentType": 5126, + "count": 1974, + "max": [ + 21.035079956054688, + -27.694740295410156, + -1.2931909561157227 + ], + "min": [ + 14.381858825683594, + -34.67087936401367, + -8.269330978393555 + ], + "type": "VEC3" + }, + { + "bufferView": 2, + "byteOffset": 2148984, + "componentType": 5126, + "count": 1974, + "max": [ + 1.0, + 1.0, + 1.0 + ], + "min": [ + -1.0, + -1.0, + -1.0 + ], + "type": "VEC3" + }, + { + "bufferView": 1, + "byteOffset": 708432, + "componentType": 5126, + "count": 1974, + "max": [ + 0.9183411002159119, + 0.5105404257774353 + ], + "min": [ + 0.7726901769638062, + 0.30280783772468567 + ], + "type": "VEC2" + }, + { + "bufferView": 0, + "byteOffset": 617256, + "componentType": 5125, + "count": 3756, + "type": "SCALAR" + }, + { + "bufferView": 2, + "byteOffset": 2172672, + "componentType": 5126, + "count": 68, + "max": [ + 7.301921367645264, + -4.328428268432617, + 9.469306945800781 + ], + "min": [ + 4.725106716156006, + -9.043150901794434, + 7.153249740600586 + ], + "type": "VEC3" + }, + { + "bufferView": 2, + "byteOffset": 2173488, + "componentType": 5126, + "count": 68, + "max": [ + 0.9642967581748962, + 0.7612926363945007, + 0.7546879649162292 + ], + "min": [ + -0.9629483222961426, + -0.8103805184364319, + -0.5612330436706543 + ], + "type": "VEC3" + }, + { + "bufferView": 1, + "byteOffset": 724224, + "componentType": 5126, + "count": 68, + "max": [ + 0.06925497949123383, + 0.7588399648666382 + ], + "min": [ + 0.028545133769512177, + 0.6990047693252563 + ], + "type": "VEC2" + }, + { + "bufferView": 2, + "byteOffset": 2174304, + "componentType": 5126, + "count": 68, + "max": [ + 0.6807765960693359, + 0.5522575378417969, + 0.0 + ], + "min": [ + -1.2660517692565918, + -0.39635515213012695, + 0.0 + ], + "type": "VEC3" + }, + { + "bufferView": 2, + "byteOffset": 2175120, + "componentType": 5126, + "count": 68, + "max": [ + 0.433622270822525, + 0.622861385345459, + 0.7129802703857422 + ], + "min": [ + -0.39672747254371643, + -0.5612245798110962, + -0.2163447141647339 + ], + "type": "VEC3" + }, + { + "bufferView": 2, + "byteOffset": 2175936, + "componentType": 5126, + "count": 68, + "max": [ + 0.0, + 0.0, + 0.0 + ], + "min": [ + -2.7335524559020996, + -1.8782901763916016, + 0.0 + ], + "type": "VEC3" + }, + { + "bufferView": 2, + "byteOffset": 2176752, + "componentType": 5126, + "count": 68, + "max": [ + 0.5493298768997192, + 0.7728443145751953, + 0.5061219334602356 + ], + "min": [ + -0.530953049659729, + -0.6427197456359863, + -0.2010529339313507 + ], + "type": "VEC3" + }, + { + "bufferView": 0, + "byteOffset": 632280, + "componentType": 5125, + "count": 204, + "type": "SCALAR" + }, + { + "bufferView": 2, + "byteOffset": 2177568, + "componentType": 5126, + "count": 68, + "max": [ + 7.301921367645264, + -4.328428268432617, + 9.469306945800781 + ], + "min": [ + 4.725106716156006, + -9.043150901794434, + 7.153249740600586 + ], + "type": "VEC3" + }, + { + "bufferView": 2, + "byteOffset": 2178384, + "componentType": 5126, + "count": 68, + "max": [ + 0.9642967581748962, + 0.7612926363945007, + 0.7546879649162292 + ], + "min": [ + -0.9629483222961426, + -0.8103805184364319, + -0.5612330436706543 + ], + "type": "VEC3" + }, + { + "bufferView": 1, + "byteOffset": 724768, + "componentType": 5126, + "count": 68, + "max": [ + 0.06925497949123383, + 0.7588399648666382 + ], + "min": [ + 0.028545133769512177, + 0.6990047693252563 + ], + "type": "VEC2" + }, + { + "bufferView": 2, + "byteOffset": 2179200, + "componentType": 5126, + "count": 68, + "max": [ + 0.38680553436279297, + 0.1762065887451172, + 0.0 + ], + "min": [ + -0.49579763412475586, + -0.1275930404663086, + 0.0 + ], + "type": "VEC3" + }, + { + "bufferView": 2, + "byteOffset": 2180016, + "componentType": 5126, + "count": 68, + "max": [ + 0.28807705640792847, + 0.49339786171913147, + 0.7043133974075317 + ], + "min": [ + -0.22478705644607544, + -0.4688808023929596, + -0.3534674048423767 + ], + "type": "VEC3" + }, + { + "bufferView": 0, + "byteOffset": 633096, + "componentType": 5125, + "count": 204, + "type": "SCALAR" + }, + { + "bufferView": 2, + "byteOffset": 2180832, + "componentType": 5126, + "count": 389, + "max": [ + 20.088279724121094, + 18.976882934570313, + -7.001015663146973 + ], + "min": [ + 11.513919830322266, + -51.81894302368164, + -27.54027557373047 + ], + "type": "VEC3" + }, + { + "bufferView": 2, + "byteOffset": 2185500, + "componentType": 5126, + "count": 389, + "max": [ + 0.9998909831047058, + 1.0, + 1.0 + ], + "min": [ + -0.999916136264801, + -0.9968783259391785, + -0.9069628119468689 + ], + "type": "VEC3" + }, + { + "bufferView": 1, + "byteOffset": 725312, + "componentType": 5126, + "count": 389, + "max": [ + 0.15118607878684998, + 0.5860177874565125 + ], + "min": [ + 0.15118607878684998, + 0.5860177874565125 + ], + "type": "VEC2" + }, + { + "bufferView": 0, + "byteOffset": 633912, + "componentType": 5125, + "count": 579, + "type": "SCALAR" + }, + { + "bufferView": 2, + "byteOffset": 2190168, + "componentType": 5126, + "count": 1956, + "max": [ + -2.897963047027588, + -27.565149307250977, + -3.0882198810577393 + ], + "min": [ + -5.758432865142822, + -33.20928955078125, + -5.68483829498291 + ], + "type": "VEC3" + }, + { + "bufferView": 2, + "byteOffset": 2213640, + "componentType": 5126, + "count": 1956, + "max": [ + 0.9995542764663696, + 0.9973945021629333, + 0.9973287582397461 + ], + "min": [ + -0.9975727796554565, + -0.9981274604797363, + -0.9992262721061707 + ], + "type": "VEC3" + }, + { + "bufferView": 1, + "byteOffset": 728424, + "componentType": 5126, + "count": 1956, + "max": [ + 0.284782737493515, + 0.5291206240653992 + ], + "min": [ + 0.2509823143482208, + 0.43730461597442627 + ], + "type": "VEC2" + }, + { + "bufferView": 0, + "byteOffset": 636228, + "componentType": 5125, + "count": 5292, + "type": "SCALAR" + }, + { + "bufferView": 3, + "componentType": 5126, + "count": 1, + "max": [ + 0.0 + ], + "min": [ + 0.0 + ], + "type": "SCALAR" + }, + { + "bufferView": 4, + "componentType": 5126, + "count": 1, + "max": [ + -35.78340530395508, + -27.191701889038086, + 3.888310432434082 + ], + "min": [ + -35.78340530395508, + -27.191701889038086, + 3.888310432434082 + ], + "type": "VEC3" + }, + { + "bufferView": 3, + "byteOffset": 4, + "componentType": 5126, + "count": 301, + "max": [ + 10.0 + ], + "min": [ + 0.0 + ], + "type": "SCALAR" + }, + { + "bufferView": 5, + "componentType": 5126, + "count": 301, + "max": [ + 0.9465759992599487, + 0.2270016074180603, + 0.2266506552696228, + 0.9465759992599487 + ], + "min": [ + -0.8003748059272766, + -0.3224703371524811, + -0.3224703371524811, + -0.4969729483127594 + ], + "type": "VEC4" + }, + { + "bufferView": 3, + "byteOffset": 1208, + "componentType": 5126, + "count": 301, + "max": [ + 10.0 + ], + "min": [ + 0.0 + ], + "type": "SCALAR" + }, + { + "bufferView": 5, + "byteOffset": 4816, + "componentType": 5126, + "count": 301, + "max": [ + 0.9999998211860657, + 0.0, + 0.0, + 0.9999958276748657 + ], + "min": [ + -0.8645575046539307, + 0.0, + 0.0, + -0.4854162633419037 + ], + "type": "VEC4" + }, + { + "bufferView": 3, + "byteOffset": 2412, + "componentType": 5126, + "count": 1, + "max": [ + 0.0 + ], + "min": [ + 0.0 + ], + "type": "SCALAR" + }, + { + "bufferView": 5, + "byteOffset": 9632, + "componentType": 5126, + "count": 1, + "max": [ + -0.6830127239227295, + -0.1830126941204071, + -0.1830126941204071, + 0.6830127239227295 + ], + "min": [ + -0.6830127239227295, + -0.1830126941204071, + -0.1830126941204071, + 0.6830127239227295 + ], + "type": "VEC4" + }, + { + "bufferView": 3, + "byteOffset": 2416, + "componentType": 5126, + "count": 301, + "max": [ + 10.0 + ], + "min": [ + 0.0 + ], + "type": "SCALAR" + }, + { + "bufferView": 5, + "byteOffset": 9648, + "componentType": 5126, + "count": 301, + "max": [ + -0.6963642239570618, + 0.12278780341148376, + 0.12278780341148376, + 0.7071067690849304 + ], + "min": [ + -0.7071067690849304, + -0.09229595959186554, + -0.09229595959186554, + 0.6963642239570618 + ], + "type": "VEC4" + }, + { + "bufferView": 3, + "byteOffset": 3620, + "componentType": 5126, + "count": 301, + "max": [ + 10.0 + ], + "min": [ + 0.0 + ], + "type": "SCALAR" + }, + { + "bufferView": 3, + "byteOffset": 4824, + "componentType": 5126, + "count": 602, + "max": [ + 1.0 + ], + "min": [ + 0.0 + ], + "type": "SCALAR" + }, + { + "bufferView": 3, + "byteOffset": 7232, + "componentType": 5126, + "count": 301, + "max": [ + 10.0 + ], + "min": [ + 0.0 + ], + "type": "SCALAR" + }, + { + "bufferView": 3, + "byteOffset": 8436, + "componentType": 5126, + "count": 301, + "max": [ + 1.0 + ], + "min": [ + 0.0 + ], + "type": "SCALAR" + } + ], + "animations": [ + { + "channels": [ + { + "sampler": 0, + "target": { + "node": 10, + "path": "translation" + } + }, + { + "sampler": 1, + "target": { + "node": 10, + "path": "rotation" + } + }, + { + "sampler": 2, + "target": { + "node": 13, + "path": "rotation" + } + }, + { + "sampler": 3, + "target": { + "node": 16, + "path": "rotation" + } + }, + { + "sampler": 4, + "target": { + "node": 19, + "path": "rotation" + } + }, + { + "sampler": 5, + "target": { + "node": 18, + "path": "weights" + } + }, + { + "sampler": 6, + "target": { + "node": 21, + "path": "weights" + } + } + ], + "name": "The Life", + "samplers": [ + { + "input": 46, + "interpolation": "LINEAR", + "output": 47 + }, + { + "input": 48, + "interpolation": "LINEAR", + "output": 49 + }, + { + "input": 50, + "interpolation": "LINEAR", + "output": 51 + }, + { + "input": 52, + "interpolation": "LINEAR", + "output": 53 + }, + { + "input": 54, + "interpolation": "LINEAR", + "output": 55 + }, + { + "input": 56, + "interpolation": "LINEAR", + "output": 57 + }, + { + "input": 58, + "interpolation": "LINEAR", + "output": 59 + } + ] + } + ], + "asset": { + "extras": { + "author": "Pixel (https://sketchfab.com/stefan.lengyel1)", + "license": "CC-BY-4.0 (http://creativecommons.org/licenses/by/4.0/)", + "source": "https://sketchfab.com/3d-models/medieval-fantasy-book-06d5a80a04fc4c5ab552759e9a97d91a", + "title": "Medieval Fantasy Book" + }, + "generator": "Sketchfab-12.65.0", + "version": "2.0" + }, + "bufferViews": [ + { + "buffer": 0, + "byteLength": 657396, + "name": "floatBufferViews", + "target": 34963 + }, + { + "buffer": 0, + "byteLength": 744072, + "byteOffset": 657396, + "byteStride": 8, + "name": "floatBufferViews", + "target": 34962 + }, + { + "buffer": 0, + "byteLength": 2237112, + "byteOffset": 1401468, + "byteStride": 12, + "name": "floatBufferViews", + "target": 34962 + }, + { + "buffer": 0, + "byteLength": 9640, + "byteOffset": 3638580, + "name": "floatBufferViews" + }, + { + "buffer": 0, + "byteLength": 12, + "byteOffset": 3648220, + "byteStride": 12, + "name": "floatBufferViews" + }, + { + "buffer": 0, + "byteLength": 14464, + "byteOffset": 3648232, + "byteStride": 16, + "name": "floatBufferViews" + } + ], + "buffers": [ + { + "byteLength": 3662696, + "uri": "scene.bin" + } + ], + "images": [ + { + "uri": "textures/Texture-base_baseColor.jpeg" + }, + { + "uri": "textures/Book-tittle_baseColor.png" + }, + { + "uri": "textures/Book-tittle_emissive.jpeg" + } + ], + "materials": [ + { + "doubleSided": true, + "name": "Texture-base", + "pbrMetallicRoughness": { + "baseColorTexture": { + "index": 0 + }, + "metallicFactor": 0.0 + } + }, + { + "doubleSided": true, + "name": "Texture-base-gloss-jpg", + "pbrMetallicRoughness": { + "baseColorTexture": { + "index": 0 + }, + "metallicFactor": 0.0, + "roughnessFactor": 0.0 + } + }, + { + "alphaMode": "BLEND", + "doubleSided": true, + "emissiveFactor": [ + 1.0, + 1.0, + 1.0 + ], + "emissiveTexture": { + "index": 2 + }, + "name": "Book-tittle", + "pbrMetallicRoughness": { + "baseColorFactor": [ + 0.0, + 0.0, + 0.0, + 1.0 + ], + "baseColorTexture": { + "index": 1 + }, + "metallicFactor": 0.0 + } + } + ], + "meshes": [ + { + "name": "Scene_Texture-base_0", + "primitives": [ + { + "attributes": { + "NORMAL": 1, + "POSITION": 0, + "TEXCOORD_0": 2 + }, + "indices": 3, + "material": 0, + "mode": 4 + } + ] + }, + { + "name": "Scene_Texture-base_0", + "primitives": [ + { + "attributes": { + "NORMAL": 5, + "POSITION": 4, + "TEXCOORD_0": 6 + }, + "indices": 7, + "material": 0, + "mode": 4 + } + ] + }, + { + "name": "Scene_Texture-base-gloss-jpg_0", + "primitives": [ + { + "attributes": { + "NORMAL": 9, + "POSITION": 8, + "TEXCOORD_0": 10 + }, + "indices": 11, + "material": 1, + "mode": 4 + } + ] + }, + { + "name": "Scene_Book-tittle_0", + "primitives": [ + { + "attributes": { + "NORMAL": 13, + "POSITION": 12, + "TEXCOORD_0": 14 + }, + "indices": 15, + "material": 2, + "mode": 4 + } + ] + }, + { + "name": "Mill-wind-wheel_Texture-base_0", + "primitives": [ + { + "attributes": { + "NORMAL": 17, + "POSITION": 16, + "TEXCOORD_0": 18 + }, + "indices": 19, + "material": 0, + "mode": 4 + } + ] + }, + { + "name": "Mill-water-wheel_Texture-base_0", + "primitives": [ + { + "attributes": { + "NORMAL": 21, + "POSITION": 20, + "TEXCOORD_0": 22 + }, + "indices": 23, + "material": 0, + "mode": 4 + } + ] + }, + { + "name": "0", + "primitives": [ + { + "attributes": { + "NORMAL": 25, + "POSITION": 24, + "TEXCOORD_0": 26 + }, + "indices": 31, + "material": 0, + "mode": 4, + "targets": [ + { + "NORMAL": 28, + "POSITION": 27 + }, + { + "NORMAL": 30, + "POSITION": 29 + } + ] + } + ], + "weights": [ + 0.0, + 0.0 + ] + }, + { + "name": "1", + "primitives": [ + { + "attributes": { + "NORMAL": 33, + "POSITION": 32, + "TEXCOORD_0": 34 + }, + "indices": 37, + "material": 0, + "mode": 4, + "targets": [ + { + "NORMAL": 36, + "POSITION": 35 + } + ] + } + ], + "weights": [ + 0.0 + ] + }, + { + "name": "Waterfall_Texture-base-gloss-jpg_0", + "primitives": [ + { + "attributes": { + "NORMAL": 39, + "POSITION": 38, + "TEXCOORD_0": 40 + }, + "indices": 41, + "material": 1, + "mode": 4 + } + ] + }, + { + "name": "deers_Texture-base_0", + "primitives": [ + { + "attributes": { + "NORMAL": 43, + "POSITION": 42, + "TEXCOORD_0": 44 + }, + "indices": 45, + "material": 0, + "mode": 4 + } + ] + } + ], + "nodes": [ + { + "children": [ + 1 + ], + "matrix": [ + 1.0, + 0.0, + 0.0, + 0.0, + 0.0, + 2.220446049250313e-16, + -1.0, + 0.0, + 0.0, + 1.0, + 2.220446049250313e-16, + 0.0, + 0.0, + 0.0, + 0.0, + 1.0 + ], + "name": "Sketchfab_model" + }, + { + "children": [ + 2 + ], + "matrix": [ + 1.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 1.0, + 0.0, + 0.0, + -1.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 1.0 + ], + "name": "dad255dd2cf24ae0bb357684e49722b4.fbx" + }, + { + "children": [ + 3 + ], + "name": "Object_2" + }, + { + "children": [ + 4, + 16, + 19, + 22, + 25 + ], + "name": "RootNode" + }, + { + "children": [ + 5, + 10, + 13 + ], + "name": "Scene", + "rotation": [ + -0.7071068286895752, + -0.0, + 0.0, + 0.7071068286895752 + ], + "translation": [ + -4.793725967407227, + 0.0, + 0.27796173095703125 + ] + }, + { + "children": [ + 6, + 7, + 8, + 9 + ], + "matrix": [ + 1.0, + 0.0, + -0.0, + 0.0, + 0.0, + 1.0, + 0.0, + 0.0, + 0.0, + 0.0, + 1.0, + 0.0, + -14.000228881835938, + 15.787593841552734, + 4.337305068969727, + 1.0 + ], + "name": "Object_5" + }, + { + "mesh": 0, + "name": "Scene_Texture-base_0" + }, + { + "mesh": 1, + "name": "Scene_Texture-base_0" + }, + { + "mesh": 2, + "name": "Scene_Texture-base-gloss-jpg_0" + }, + { + "mesh": 3, + "name": "Scene_Book-tittle_0" + }, + { + "children": [ + 11 + ], + "name": "Mill-wind-wheel", + "rotation": [ + 0.2620176672935486, + -0.1566145420074463, + -0.2818884253501892, + 0.9095920920372009 + ], + "scale": [ + 0.9999998211860657, + 1.000000238418579, + 0.9999999403953552 + ], + "translation": [ + -35.783409118652344, + -27.191701889038086, + 3.888310432434082 + ] + }, + { + "children": [ + 12 + ], + "matrix": [ + 0.7920215868938842, + 0.4307354032834781, + -0.4326301171350799, + 0.0, + -0.594878465834723, + 0.7037713516754016, + -0.3883625824498344, + 0.0, + 0.13719116873990003, + 0.5649538891973376, + 0.8136373186503816, + 0.0, + -8.2531156539917, + 39.88404083251953, + -25.75028419494629, + 1.0 + ], + "name": "Object_11" + }, + { + "mesh": 4, + "name": "Mill-wind-wheel_Texture-base_0" + }, + { + "children": [ + 14 + ], + "name": "Mill-water-wheel", + "rotation": [ + -0.8191520571708679, + 0.0, + 0.0, + 0.5735764503479004 + ], + "translation": [ + 3.708240509033203, + -15.39521598815918, + -0.4439563751220703 + ] + }, + { + "children": [ + 15 + ], + "matrix": [ + 1.0, + 0.0, + -0.0, + 0.0, + 0.0, + 1.0, + 0.0, + 0.0, + 0.0, + 0.0, + 1.0, + 0.0, + -17.70846939086914, + 31.182809829711914, + 4.781261444091797, + 1.0 + ], + "name": "Object_14" + }, + { + "mesh": 5, + "name": "Mill-water-wheel_Texture-base_0" + }, + { + "children": [ + 17 + ], + "name": "flag", + "rotation": [ + -0.6830127239227295, + -0.1830126792192459, + -0.1830126792192459, + 0.6830127239227295 + ], + "translation": [ + -11.513280868530273, + 12.497121810913086, + -6.75236701965332 + ] + }, + { + "children": [ + 18 + ], + "matrix": [ + 1.0, + 0.0, + -0.0, + 0.0, + 0.0, + 1.0, + 0.0, + 0.0, + 0.0, + 0.0, + 1.0, + 0.0, + -7.261990070343018, + 9.035226821899414, + -8.15981674194336, + 1.0 + ], + "name": "Object_17" + }, + { + "mesh": 6, + "name": "0" + }, + { + "children": [ + 20 + ], + "name": "flag-second", + "rotation": [ + -0.7071068286895752, + -0.0, + 0.0, + 0.7071068286895752 + ], + "translation": [ + -11.49352741241455, + 12.551765441894531, + -26.244935989379883 + ] + }, + { + "children": [ + 21 + ], + "matrix": [ + 1.0, + 0.0, + -0.0, + 0.0, + 0.0, + 1.0, + 0.0, + 0.0, + 0.0, + 0.0, + 1.0, + 0.0, + -7.261990070343018, + 9.035226821899414, + -8.15981674194336, + 1.0 + ], + "name": "Object_20" + }, + { + "mesh": 7, + "name": "1" + }, + { + "children": [ + 23 + ], + "name": "Waterfall", + "rotation": [ + -0.7071068286895752, + -0.0, + 0.0, + 0.7071068286895752 + ], + "translation": [ + -4.793725967407227, + 0.0, + 0.3511960506439209 + ] + }, + { + "children": [ + 24 + ], + "matrix": [ + 1.0, + 0.0, + -0.0, + 0.0, + 0.0, + 1.0, + 0.0, + 0.0, + 0.0, + 0.0, + 1.0, + 0.0, + -14.000228881835938, + 15.787593841552734, + 4.337305068969727, + 1.0 + ], + "name": "Object_23" + }, + { + "mesh": 8, + "name": "Waterfall_Texture-base-gloss-jpg_0" + }, + { + "children": [ + 26 + ], + "name": "deers", + "rotation": [ + -0.7071068286895752, + -0.0, + 0.0, + 0.7071068286895752 + ], + "translation": [ + -23.12215232849121, + -0.049223899841308594, + 14.877586364746094 + ] + }, + { + "children": [ + 27 + ], + "matrix": [ + 1.0, + 0.0, + -0.0, + 0.0, + 0.0, + 1.0, + 0.0, + 0.0, + 0.0, + 0.0, + 1.0, + 0.0, + 4.328197479248047, + 30.387218475341797, + 4.386528968811035, + 1.0 + ], + "name": "Object_26" + }, + { + "mesh": 9, + "name": "deers_Texture-base_0" + } + ], + "samplers": [ + { + "magFilter": 9729, + "minFilter": 9987, + "wrapS": 10497, + "wrapT": 10497 + } + ], + "scene": 0, + "scenes": [ + { + "name": "Sketchfab_Scene", + "nodes": [ + 0 + ] + } + ], + "textures": [ + { + "sampler": 0, + "source": 0 + }, + { + "sampler": 0, + "source": 1 + }, + { + "sampler": 0, + "source": 2 + } + ] +} diff --git a/data/meshes/medieval_fantasy_book/textures/Book-tittle_baseColor.png b/data/meshes/medieval_fantasy_book/textures/Book-tittle_baseColor.png new file mode 100644 index 0000000..aef0d15 Binary files /dev/null and b/data/meshes/medieval_fantasy_book/textures/Book-tittle_baseColor.png differ diff --git a/data/meshes/medieval_fantasy_book/textures/Book-tittle_emissive.jpeg b/data/meshes/medieval_fantasy_book/textures/Book-tittle_emissive.jpeg new file mode 100644 index 0000000..ebe45d5 Binary files /dev/null and b/data/meshes/medieval_fantasy_book/textures/Book-tittle_emissive.jpeg differ diff --git a/data/meshes/medieval_fantasy_book/textures/Texture-base_baseColor.jpeg b/data/meshes/medieval_fantasy_book/textures/Texture-base_baseColor.jpeg new file mode 100644 index 0000000..0cff80a Binary files /dev/null and b/data/meshes/medieval_fantasy_book/textures/Texture-base_baseColor.jpeg differ diff --git a/data/meshes/orrery/scene.bin b/data/meshes/orrery/scene.bin new file mode 100644 index 0000000..1eb7240 Binary files /dev/null and b/data/meshes/orrery/scene.bin differ diff --git a/data/meshes/orrery/scene.gltf b/data/meshes/orrery/scene.gltf new file mode 100644 index 0000000..c886988 --- /dev/null +++ b/data/meshes/orrery/scene.gltf @@ -0,0 +1,4160 @@ +{ + "accessors": [ + { + "bufferView": 2, + "componentType": 5126, + "count": 2143, + "max": [ + 2.5, + 2.5, + 2.4974100589752197 + ], + "min": [ + -2.5, + -2.5, + -2.5025899410247803 + ], + "type": "VEC3" + }, + { + "bufferView": 2, + "byteOffset": 25716, + "componentType": 5126, + "count": 2143, + "max": [ + 1, + 1, + 1 + ], + "min": [ + -1, + -1, + -1 + ], + "type": "VEC3" + }, + { + "bufferView": 3, + "componentType": 5126, + "count": 2143, + "max": [ + 1, + 1, + 0.024567229673266411, + 1 + ], + "min": [ + -1, + -1, + -0.02455698698759079, + 1 + ], + "type": "VEC4" + }, + { + "bufferView": 1, + "componentType": 5126, + "count": 2143, + "max": [ + 1, + 1 + ], + "min": [ + 0, + 0 + ], + "type": "VEC2" + }, + { + "bufferView": 0, + "componentType": 5125, + "count": 11904, + "max": [ + 2142 + ], + "min": [ + 0 + ], + "type": "SCALAR" + }, + { + "bufferView": 2, + "byteOffset": 51432, + "componentType": 5126, + "count": 8622, + "max": [ + 23.778690338134766, + 20.972299575805664, + 13.770999908447266 + ], + "min": [ + -13.253230094909668, + -20.976310729980469, + -3.2064299583435059 + ], + "type": "VEC3" + }, + { + "bufferView": 2, + "byteOffset": 154896, + "componentType": 5126, + "count": 8622, + "max": [ + 0.99992477893829346, + 0.99993801116943359, + 0.99981975555419922 + ], + "min": [ + -0.99991226196289062, + -0.9999423623085022, + -0.99979120492935181 + ], + "type": "VEC3" + }, + { + "bufferView": 0, + "byteOffset": 47616, + "componentType": 5125, + "count": 51696, + "max": [ + 8621 + ], + "min": [ + 0 + ], + "type": "SCALAR" + }, + { + "bufferView": 2, + "byteOffset": 258360, + "componentType": 5126, + "count": 1280, + "max": [ + 1.0059800148010254, + 1.0059800148010254, + 0.032919999212026596 + ], + "min": [ + -1.0059800148010254, + -1.0059800148010254, + -0.032979998737573624 + ], + "type": "VEC3" + }, + { + "bufferView": 2, + "byteOffset": 273720, + "componentType": 5126, + "count": 1280, + "max": [ + 0.99965393543243408, + 0.99965393543243408, + 0.80156588554382324 + ], + "min": [ + -0.99965393543243408, + -0.99965393543243408, + -0.8202856183052063 + ], + "type": "VEC3" + }, + { + "bufferView": 0, + "byteOffset": 254400, + "componentType": 5125, + "count": 7680, + "max": [ + 1279 + ], + "min": [ + 0 + ], + "type": "SCALAR" + }, + { + "bufferView": 2, + "byteOffset": 289080, + "componentType": 5126, + "count": 4179, + "max": [ + 1.1161400079727173, + 1.1161400079727173, + 0.016599999740719795 + ], + "min": [ + -1.1161400079727173, + -1.1161400079727173, + -0.70236998796463013 + ], + "type": "VEC3" + }, + { + "bufferView": 2, + "byteOffset": 339228, + "componentType": 5126, + "count": 4179, + "max": [ + 0.99986523389816284, + 0.99986523389816284, + 0.99977511167526245 + ], + "min": [ + -0.99986523389816284, + -0.99986523389816284, + -1 + ], + "type": "VEC3" + }, + { + "bufferView": 3, + "byteOffset": 34288, + "componentType": 5126, + "count": 4179, + "max": [ + 1, + 1, + 0.26621311902999878, + 1 + ], + "min": [ + -1, + -1, + -0.26621314883232117, + -1 + ], + "type": "VEC4" + }, + { + "bufferView": 1, + "byteOffset": 17144, + "componentType": 5126, + "count": 4179, + "max": [ + 0.99993997812271118, + 0.97820001840591431 + ], + "min": [ + 5.999999848427251e-05, + 5.999999848427251e-05 + ], + "type": "VEC2" + }, + { + "bufferView": 0, + "byteOffset": 285120, + "componentType": 5125, + "count": 23808, + "max": [ + 4178 + ], + "min": [ + 0 + ], + "type": "SCALAR" + }, + { + "bufferView": 2, + "byteOffset": 389376, + "componentType": 5126, + "count": 5025, + "max": [ + 0.99129998683929443, + 0.99129998683929443, + -0.015479999594390392 + ], + "min": [ + -0.99129998683929443, + -0.99129998683929443, + -0.015490000136196613 + ], + "type": "VEC3" + }, + { + "bufferView": 2, + "byteOffset": 449676, + "componentType": 5126, + "count": 5025, + "max": [ + 0.71838545799255371, + 0.71838545799255371, + 1 + ], + "min": [ + -0.71838545799255371, + -0.71838545799255371, + 0.69564533233642578 + ], + "type": "VEC3" + }, + { + "bufferView": 3, + "byteOffset": 101152, + "componentType": 5126, + "count": 5025, + "max": [ + 0.96210408210754395, + 0.60354828834533691, + 0.71751385927200317, + 1 + ], + "min": [ + 0.59715384244918823, + 0.02735830657184124, + -0.7175137996673584, + 1 + ], + "type": "VEC4" + }, + { + "bufferView": 1, + "byteOffset": 50576, + "componentType": 5126, + "count": 5025, + "max": [ + 0.98518997430801392, + 0.82576000690460205 + ], + "min": [ + 0.54088997840881348, + 0.38146999478340149 + ], + "type": "VEC2" + }, + { + "bufferView": 0, + "byteOffset": 380352, + "componentType": 5125, + "count": 26880, + "max": [ + 5024 + ], + "min": [ + 0 + ], + "type": "SCALAR" + }, + { + "bufferView": 2, + "byteOffset": 509976, + "componentType": 5126, + "count": 14247, + "max": [ + 0.8906400203704834, + 0.8906400203704834, + -0.015479999594390392 + ], + "min": [ + -0.8906400203704834, + -0.8906400203704834, + -0.052689999341964722 + ], + "type": "VEC3" + }, + { + "bufferView": 2, + "byteOffset": 680940, + "componentType": 5126, + "count": 14247, + "max": [ + 1, + 1, + 1 + ], + "min": [ + -1, + -1, + 0 + ], + "type": "VEC3" + }, + { + "bufferView": 3, + "byteOffset": 181552, + "componentType": 5126, + "count": 14247, + "max": [ + 0.97973012924194336, + 0.77620971202850342, + 1, + 1 + ], + "min": [ + -0.97680890560150146, + -1, + -1, + 1 + ], + "type": "VEC4" + }, + { + "bufferView": 0, + "byteOffset": 487872, + "componentType": 5125, + "count": 73728, + "max": [ + 14246 + ], + "min": [ + 0 + ], + "type": "SCALAR" + }, + { + "bufferView": 2, + "byteOffset": 851904, + "componentType": 5126, + "count": 5632, + "max": [ + 1.0895600318908691, + 1.0895600318908691, + -2.2821500301361084 + ], + "min": [ + -1.0895600318908691, + -1.0895600318908691, + -4.8296999931335449 + ], + "type": "VEC3" + }, + { + "bufferView": 2, + "byteOffset": 919488, + "componentType": 5126, + "count": 5632, + "max": [ + 0.99998658895492554, + 0.99998658895492554, + 0.99988764524459839 + ], + "min": [ + -0.99998658895492554, + -0.99998658895492554, + -0.99986916780471802 + ], + "type": "VEC3" + }, + { + "bufferView": 3, + "byteOffset": 409504, + "componentType": 5126, + "count": 5632, + "max": [ + 0, + 0, + 0, + 1 + ], + "min": [ + 0, + 0, + 0, + 1 + ], + "type": "VEC4" + }, + { + "bufferView": 0, + "byteOffset": 782784, + "componentType": 5125, + "count": 33792, + "max": [ + 5631 + ], + "min": [ + 0 + ], + "type": "SCALAR" + }, + { + "bufferView": 2, + "byteOffset": 987072, + "componentType": 5126, + "count": 328, + "max": [ + 0.19991999864578247, + 0.0035800000187009573, + 0.2471500039100647 + ], + "min": [ + 0.1466899961233139, + -0.0035800000187009573, + 0 + ], + "type": "VEC3" + }, + { + "bufferView": 2, + "byteOffset": 991008, + "componentType": 5126, + "count": 328, + "max": [ + 1, + 1, + 1 + ], + "min": [ + -1, + -1, + -1 + ], + "type": "VEC3" + }, + { + "bufferView": 0, + "byteOffset": 917952, + "componentType": 5125, + "count": 1920, + "max": [ + 327 + ], + "min": [ + 0 + ], + "type": "SCALAR" + }, + { + "bufferView": 2, + "byteOffset": 994944, + "componentType": 5126, + "count": 2143, + "max": [ + 0.14110000431537628, + 0.14110000431537628, + 0.14101999998092651 + ], + "min": [ + -0.14110000431537628, + -0.14110000431537628, + -0.14131000638008118 + ], + "type": "VEC3" + }, + { + "bufferView": 2, + "byteOffset": 1020660, + "componentType": 5126, + "count": 2143, + "max": [ + 1, + 1, + 1 + ], + "min": [ + -1, + -1, + -1 + ], + "type": "VEC3" + }, + { + "bufferView": 3, + "byteOffset": 499616, + "componentType": 5126, + "count": 2143, + "max": [ + 1, + 1, + 0.024448374286293983, + 1 + ], + "min": [ + -1, + -1, + -0.024517711251974106, + 1 + ], + "type": "VEC4" + }, + { + "bufferView": 1, + "byteOffset": 90776, + "componentType": 5126, + "count": 2143, + "max": [ + 1, + 1 + ], + "min": [ + 0, + 0 + ], + "type": "VEC2" + }, + { + "bufferView": 0, + "byteOffset": 925632, + "componentType": 5125, + "count": 11904, + "max": [ + 2142 + ], + "min": [ + 0 + ], + "type": "SCALAR" + }, + { + "bufferView": 2, + "byteOffset": 1046376, + "componentType": 5126, + "count": 328, + "max": [ + 0.16292999684810638, + 0.25913000106811523, + 0.2471500039100647 + ], + "min": [ + 0.1315699964761734, + 0.21306000649929047, + 0 + ], + "type": "VEC3" + }, + { + "bufferView": 2, + "byteOffset": 1050312, + "componentType": 5126, + "count": 328, + "max": [ + 0.97552859783172607, + 0.97532492876052856, + 1 + ], + "min": [ + -0.97559124231338501, + -0.97534358501434326, + -1 + ], + "type": "VEC3" + }, + { + "bufferView": 0, + "byteOffset": 973248, + "componentType": 5125, + "count": 1920, + "max": [ + 327 + ], + "min": [ + 0 + ], + "type": "SCALAR" + }, + { + "bufferView": 2, + "byteOffset": 1054248, + "componentType": 5126, + "count": 2143, + "max": [ + 0.36109998822212219, + 0.36109998822212219, + 0.36087998747825623 + ], + "min": [ + -0.36109998822212219, + -0.36109998822212219, + -0.36162999272346497 + ], + "type": "VEC3" + }, + { + "bufferView": 2, + "byteOffset": 1079964, + "componentType": 5126, + "count": 2143, + "max": [ + 1, + 1, + 1 + ], + "min": [ + -1, + -1, + -1 + ], + "type": "VEC3" + }, + { + "bufferView": 3, + "byteOffset": 533904, + "componentType": 5126, + "count": 2143, + "max": [ + 1, + 1, + 0.024526702240109444, + 1 + ], + "min": [ + -1, + -1, + -0.024602398276329041, + 1 + ], + "type": "VEC4" + }, + { + "bufferView": 1, + "byteOffset": 107920, + "componentType": 5126, + "count": 2143, + "max": [ + 1, + 1 + ], + "min": [ + 0, + 0 + ], + "type": "VEC2" + }, + { + "bufferView": 0, + "byteOffset": 980928, + "componentType": 5125, + "count": 11904, + "max": [ + 2142 + ], + "min": [ + 0 + ], + "type": "SCALAR" + }, + { + "bufferView": 2, + "byteOffset": 1105680, + "componentType": 5126, + "count": 328, + "max": [ + -0.26083999872207642, + 0.27937999367713928, + 0.2471500039100647 + ], + "min": [ + -0.30182000994682312, + 0.24094000458717346, + 0 + ], + "type": "VEC3" + }, + { + "bufferView": 2, + "byteOffset": 1109616, + "componentType": 5126, + "count": 328, + "max": [ + 0.99924725294113159, + 0.99923813343048096, + 1 + ], + "min": [ + -0.99924618005752563, + -0.99923813343048096, + -1 + ], + "type": "VEC3" + }, + { + "bufferView": 0, + "byteOffset": 1028544, + "componentType": 5125, + "count": 1920, + "max": [ + 327 + ], + "min": [ + 0 + ], + "type": "SCALAR" + }, + { + "bufferView": 2, + "byteOffset": 1113552, + "componentType": 5126, + "count": 2143, + "max": [ + 0.37795001268386841, + 0.37795001268386841, + 0.37771999835968018 + ], + "min": [ + -0.37795001268386841, + -0.37795001268386841, + -0.37850001454353333 + ], + "type": "VEC3" + }, + { + "bufferView": 2, + "byteOffset": 1139268, + "componentType": 5126, + "count": 2143, + "max": [ + 1, + 1, + 1 + ], + "min": [ + -1, + -1, + -1 + ], + "type": "VEC3" + }, + { + "bufferView": 3, + "byteOffset": 568192, + "componentType": 5126, + "count": 2143, + "max": [ + 1, + 1, + 0.02460857667028904, + 1 + ], + "min": [ + -1, + -1, + -0.024629084393382072, + 1 + ], + "type": "VEC4" + }, + { + "bufferView": 1, + "byteOffset": 125064, + "componentType": 5126, + "count": 2143, + "max": [ + 1, + 1 + ], + "min": [ + 0, + 0 + ], + "type": "VEC2" + }, + { + "bufferView": 0, + "byteOffset": 1036224, + "componentType": 5125, + "count": 11904, + "max": [ + 2142 + ], + "min": [ + 0 + ], + "type": "SCALAR" + }, + { + "bufferView": 2, + "byteOffset": 1164984, + "componentType": 5126, + "count": 328, + "max": [ + -0.42149999737739563, + 0.21134999394416809, + 0.2471500039100647 + ], + "min": [ + -0.47027000784873962, + 0.18591000139713287, + 0 + ], + "type": "VEC3" + }, + { + "bufferView": 2, + "byteOffset": 1168920, + "componentType": 5126, + "count": 328, + "max": [ + 0.93595308065414429, + 0.9361388087272644, + 1 + ], + "min": [ + -0.93599814176559448, + -0.93627053499221802, + -1 + ], + "type": "VEC3" + }, + { + "bufferView": 0, + "byteOffset": 1083840, + "componentType": 5125, + "count": 1920, + "max": [ + 327 + ], + "min": [ + 0 + ], + "type": "SCALAR" + }, + { + "bufferView": 2, + "byteOffset": 1172856, + "componentType": 5126, + "count": 2143, + "max": [ + 0.19787999987602234, + 0.19787999987602234, + 0.19776000082492828 + ], + "min": [ + -0.19787999987602234, + -0.19787999987602234, + -0.198170006275177 + ], + "type": "VEC3" + }, + { + "bufferView": 2, + "byteOffset": 1198572, + "componentType": 5126, + "count": 2143, + "max": [ + 1, + 1, + 1 + ], + "min": [ + -1, + -1, + -1 + ], + "type": "VEC3" + }, + { + "bufferView": 3, + "byteOffset": 602480, + "componentType": 5126, + "count": 2143, + "max": [ + 1, + 1, + 0.024390188977122307, + 1 + ], + "min": [ + -1, + -1, + -0.024406429380178452, + 1 + ], + "type": "VEC4" + }, + { + "bufferView": 1, + "byteOffset": 142208, + "componentType": 5126, + "count": 2143, + "max": [ + 1, + 1 + ], + "min": [ + 0, + 0 + ], + "type": "VEC2" + }, + { + "bufferView": 0, + "byteOffset": 1091520, + "componentType": 5125, + "count": 11904, + "max": [ + 2142 + ], + "min": [ + 0 + ], + "type": "SCALAR" + }, + { + "bufferView": 2, + "byteOffset": 1224288, + "componentType": 5126, + "count": 328, + "max": [ + -0.15038999915122986, + -0.54543000459671021, + 0.2471500039100647 + ], + "min": [ + -0.16971999406814575, + -0.59668999910354614, + 0 + ], + "type": "VEC3" + }, + { + "bufferView": 2, + "byteOffset": 1228224, + "componentType": 5126, + "count": 328, + "max": [ + 0.96900260448455811, + 0.96290415525436401, + 1 + ], + "min": [ + -0.9693261981010437, + -0.96290415525436401, + -1 + ], + "type": "VEC3" + }, + { + "bufferView": 0, + "byteOffset": 1139136, + "componentType": 5125, + "count": 1920, + "max": [ + 327 + ], + "min": [ + 0 + ], + "type": "SCALAR" + }, + { + "bufferView": 2, + "byteOffset": 1232160, + "componentType": 5126, + "count": 2143, + "max": [ + 4.1473598480224609, + 4.1473598480224609, + 4.144859790802002 + ], + "min": [ + -4.1473598480224609, + -4.1473598480224609, + -4.1534600257873535 + ], + "type": "VEC3" + }, + { + "bufferView": 2, + "byteOffset": 1257876, + "componentType": 5126, + "count": 2143, + "max": [ + 1, + 1, + 1 + ], + "min": [ + -1, + -1, + -1 + ], + "type": "VEC3" + }, + { + "bufferView": 3, + "byteOffset": 636768, + "componentType": 5126, + "count": 2143, + "max": [ + 1, + 1, + 0.024560144171118736, + 1 + ], + "min": [ + -1, + -1, + -0.02455919049680233, + 1 + ], + "type": "VEC4" + }, + { + "bufferView": 1, + "byteOffset": 159352, + "componentType": 5126, + "count": 2143, + "max": [ + 1, + 1 + ], + "min": [ + 0, + 0 + ], + "type": "VEC2" + }, + { + "bufferView": 0, + "byteOffset": 1146816, + "componentType": 5125, + "count": 11904, + "max": [ + 2142 + ], + "min": [ + 0 + ], + "type": "SCALAR" + }, + { + "bufferView": 2, + "byteOffset": 1283592, + "componentType": 5126, + "count": 328, + "max": [ + 0.43443000316619873, + 0.58167999982833862, + 0.2471500039100647 + ], + "min": [ + 0.39980000257492065, + 0.53764998912811279, + 0 + ], + "type": "VEC3" + }, + { + "bufferView": 2, + "byteOffset": 1287528, + "componentType": 5126, + "count": 328, + "max": [ + 0.99017435312271118, + 0.98994708061218262, + 1 + ], + "min": [ + -0.99020284414291382, + -0.9899945855140686, + -1 + ], + "type": "VEC3" + }, + { + "bufferView": 0, + "byteOffset": 1194432, + "componentType": 5125, + "count": 1920, + "max": [ + 327 + ], + "min": [ + 0 + ], + "type": "SCALAR" + }, + { + "bufferView": 2, + "byteOffset": 1291464, + "componentType": 5126, + "count": 4504, + "max": [ + 8.2484598159790039, + 8.2484598159790039, + 0.10000000149011612 + ], + "min": [ + -8.2484598159790039, + -8.2484598159790039, + -0.10000000149011612 + ], + "type": "VEC3" + }, + { + "bufferView": 2, + "byteOffset": 1345512, + "componentType": 5126, + "count": 4504, + "max": [ + 0.99969714879989624, + 0.99969714879989624, + 1 + ], + "min": [ + -0.99969714879989624, + -0.99969714879989624, + -1 + ], + "type": "VEC3" + }, + { + "bufferView": 3, + "byteOffset": 671056, + "componentType": 5126, + "count": 4504, + "max": [ + 1, + 1, + 0, + 1 + ], + "min": [ + -1, + -1, + 0, + -1 + ], + "type": "VEC4" + }, + { + "bufferView": 1, + "byteOffset": 176496, + "componentType": 5126, + "count": 4504, + "max": [ + 0.99994999170303345, + 0.99198997020721436 + ], + "min": [ + 0.00014000000373926014, + 0.0088499998673796654 + ], + "type": "VEC2" + }, + { + "bufferView": 0, + "byteOffset": 1202112, + "componentType": 5125, + "count": 15360, + "max": [ + 4503 + ], + "min": [ + 0 + ], + "type": "SCALAR" + }, + { + "bufferView": 2, + "byteOffset": 1399560, + "componentType": 5126, + "count": 2143, + "max": [ + 3.4700899124145508, + 3.4700899124145508, + 3.4679899215698242 + ], + "min": [ + -3.4700899124145508, + -3.4700899124145508, + -3.4751999378204346 + ], + "type": "VEC3" + }, + { + "bufferView": 2, + "byteOffset": 1425276, + "componentType": 5126, + "count": 2143, + "max": [ + 1, + 1, + 1 + ], + "min": [ + -1, + -1, + -1 + ], + "type": "VEC3" + }, + { + "bufferView": 3, + "byteOffset": 743120, + "componentType": 5126, + "count": 2143, + "max": [ + 1, + 1, + 0.024537572637200356, + 1 + ], + "min": [ + -1, + -1, + -0.02454148605465889, + 1 + ], + "type": "VEC4" + }, + { + "bufferView": 1, + "byteOffset": 212528, + "componentType": 5126, + "count": 2143, + "max": [ + 1, + 1 + ], + "min": [ + 0, + 0 + ], + "type": "VEC2" + }, + { + "bufferView": 0, + "byteOffset": 1263552, + "componentType": 5125, + "count": 11904, + "max": [ + 2142 + ], + "min": [ + 0 + ], + "type": "SCALAR" + }, + { + "bufferView": 2, + "byteOffset": 1450992, + "componentType": 5126, + "count": 328, + "max": [ + -0.75135999917984009, + -0.19273999333381653, + 0.2471500039100647 + ], + "min": [ + -0.80287998914718628, + -0.21127000451087952, + 0 + ], + "type": "VEC3" + }, + { + "bufferView": 2, + "byteOffset": 1454928, + "componentType": 5126, + "count": 328, + "max": [ + 0.96784096956253052, + 0.97350889444351196, + 1 + ], + "min": [ + -0.96784096956253052, + -0.97380530834197998, + -1 + ], + "type": "VEC3" + }, + { + "bufferView": 0, + "byteOffset": 1311168, + "componentType": 5125, + "count": 1920, + "max": [ + 327 + ], + "min": [ + 0 + ], + "type": "SCALAR" + }, + { + "bufferView": 2, + "byteOffset": 1458864, + "componentType": 5126, + "count": 2143, + "max": [ + 1.4456700086593628, + 1.4456700086593628, + 1.4448000192642212 + ], + "min": [ + -1.4456700086593628, + -1.4456700086593628, + -1.4478000402450562 + ], + "type": "VEC3" + }, + { + "bufferView": 2, + "byteOffset": 1484580, + "componentType": 5126, + "count": 2143, + "max": [ + 1, + 1, + 1 + ], + "min": [ + -1, + -1, + -1 + ], + "type": "VEC3" + }, + { + "bufferView": 3, + "byteOffset": 777408, + "componentType": 5126, + "count": 2143, + "max": [ + 1, + 1, + 0.02453899197280407, + 1 + ], + "min": [ + -1, + -1, + -0.024529600515961647, + 1 + ], + "type": "VEC4" + }, + { + "bufferView": 1, + "byteOffset": 229672, + "componentType": 5126, + "count": 2143, + "max": [ + 1, + 1 + ], + "min": [ + 0, + 0 + ], + "type": "VEC2" + }, + { + "bufferView": 0, + "byteOffset": 1318848, + "componentType": 5125, + "count": 11904, + "max": [ + 2142 + ], + "min": [ + 0 + ], + "type": "SCALAR" + }, + { + "bufferView": 2, + "byteOffset": 1510296, + "componentType": 5126, + "count": 328, + "max": [ + 0.19675000011920929, + 0.91414999961853027, + 0.2471500039100647 + ], + "min": [ + 0.18017999827861786, + 0.86207002401351929, + 0 + ], + "type": "VEC3" + }, + { + "bufferView": 2, + "byteOffset": 1514232, + "componentType": 5126, + "count": 328, + "max": [ + 0.98307955265045166, + 0.97822177410125732, + 1 + ], + "min": [ + -0.98284900188446045, + -0.97822177410125732, + -1 + ], + "type": "VEC3" + }, + { + "bufferView": 0, + "byteOffset": 1366464, + "componentType": 5125, + "count": 1920, + "max": [ + 327 + ], + "min": [ + 0 + ], + "type": "SCALAR" + }, + { + "bufferView": 2, + "byteOffset": 1518168, + "componentType": 5126, + "count": 2143, + "max": [ + 1.4804199934005737, + 1.4804199934005737, + 1.4795299768447876 + ], + "min": [ + -1.4804199934005737, + -1.4804199934005737, + -1.4825999736785889 + ], + "type": "VEC3" + }, + { + "bufferView": 2, + "byteOffset": 1543884, + "componentType": 5126, + "count": 2143, + "max": [ + 1, + 1, + 1 + ], + "min": [ + -1, + -1, + -1 + ], + "type": "VEC3" + }, + { + "bufferView": 3, + "byteOffset": 811696, + "componentType": 5126, + "count": 2143, + "max": [ + 1, + 1, + 0.024546531960368156, + 1 + ], + "min": [ + -1, + -1, + -0.024543793871998787, + 1 + ], + "type": "VEC4" + }, + { + "bufferView": 1, + "byteOffset": 246816, + "componentType": 5126, + "count": 2143, + "max": [ + 1, + 1 + ], + "min": [ + 0, + 0 + ], + "type": "VEC2" + }, + { + "bufferView": 0, + "byteOffset": 1374144, + "componentType": 5125, + "count": 11904, + "max": [ + 2142 + ], + "min": [ + 0 + ], + "type": "SCALAR" + }, + { + "bufferView": 4, + "componentType": 5126, + "count": 2, + "max": [ + 256 + ], + "min": [ + 0.041669998317956924 + ], + "type": "SCALAR" + }, + { + "bufferView": 5, + "componentType": 5126, + "count": 2, + "max": [ + 0, + -0, + -0.12542000412940979 + ], + "min": [ + 0, + -0, + -0.12542000412940979 + ], + "type": "VEC3" + }, + { + "bufferView": 4, + "byteOffset": 8, + "componentType": 5126, + "count": 6144, + "max": [ + 256 + ], + "min": [ + 0.041669998317956924 + ], + "type": "SCALAR" + }, + { + "bufferView": 6, + "componentType": 5126, + "count": 6144, + "max": [ + 0, + 0, + 0.99996000528335571, + 1 + ], + "min": [ + 0, + 0, + -0.99994999170303345, + -0.0097200004383921623 + ], + "type": "VEC4" + }, + { + "bufferView": 4, + "byteOffset": 24584, + "componentType": 5126, + "count": 2, + "max": [ + 256 + ], + "min": [ + 0.041669998317956924 + ], + "type": "SCALAR" + }, + { + "bufferView": 5, + "byteOffset": 24, + "componentType": 5126, + "count": 2, + "max": [ + 1, + 1, + 1 + ], + "min": [ + 1, + 1, + 1 + ], + "type": "VEC3" + }, + { + "bufferView": 4, + "byteOffset": 24592, + "componentType": 5126, + "count": 2, + "max": [ + 256 + ], + "min": [ + 0.041669998317956924 + ], + "type": "SCALAR" + }, + { + "bufferView": 5, + "byteOffset": 48, + "componentType": 5126, + "count": 2, + "max": [ + 0, + -0, + -0.12542000412940979 + ], + "min": [ + 0, + -0, + -0.12542000412940979 + ], + "type": "VEC3" + }, + { + "bufferView": 4, + "byteOffset": 24600, + "componentType": 5126, + "count": 6144, + "max": [ + 256 + ], + "min": [ + 0.041669998317956924 + ], + "type": "SCALAR" + }, + { + "bufferView": 6, + "byteOffset": 98304, + "componentType": 5126, + "count": 6144, + "max": [ + 0, + 0, + 0.99998998641967773, + 1 + ], + "min": [ + 0, + 0, + -0.99994999170303345, + -0.0099700000137090683 + ], + "type": "VEC4" + }, + { + "bufferView": 4, + "byteOffset": 49176, + "componentType": 5126, + "count": 2, + "max": [ + 256 + ], + "min": [ + 0.041669998317956924 + ], + "type": "SCALAR" + }, + { + "bufferView": 5, + "byteOffset": 72, + "componentType": 5126, + "count": 2, + "max": [ + 1, + 1, + 1 + ], + "min": [ + 1, + 1, + 1 + ], + "type": "VEC3" + }, + { + "bufferView": 4, + "byteOffset": 49184, + "componentType": 5126, + "count": 2, + "max": [ + 256 + ], + "min": [ + 0.041669998317956924 + ], + "type": "SCALAR" + }, + { + "bufferView": 5, + "byteOffset": 96, + "componentType": 5126, + "count": 2, + "max": [ + 0, + -0, + -0.12542000412940979 + ], + "min": [ + 0, + -0, + -0.12542000412940979 + ], + "type": "VEC3" + }, + { + "bufferView": 4, + "byteOffset": 49192, + "componentType": 5126, + "count": 6144, + "max": [ + 256 + ], + "min": [ + 0.041669998317956924 + ], + "type": "SCALAR" + }, + { + "bufferView": 6, + "byteOffset": 196608, + "componentType": 5126, + "count": 6144, + "max": [ + 0, + 0, + 0.99996000528335571, + 1 + ], + "min": [ + 0, + 0, + -0.99994999170303345, + -0.0099700000137090683 + ], + "type": "VEC4" + }, + { + "bufferView": 4, + "byteOffset": 73768, + "componentType": 5126, + "count": 2, + "max": [ + 256 + ], + "min": [ + 0.041669998317956924 + ], + "type": "SCALAR" + }, + { + "bufferView": 5, + "byteOffset": 120, + "componentType": 5126, + "count": 2, + "max": [ + 1, + 1, + 1 + ], + "min": [ + 1, + 1, + 1 + ], + "type": "VEC3" + }, + { + "bufferView": 4, + "byteOffset": 73776, + "componentType": 5126, + "count": 2, + "max": [ + 256 + ], + "min": [ + 0.041669998317956924 + ], + "type": "SCALAR" + }, + { + "bufferView": 5, + "byteOffset": 144, + "componentType": 5126, + "count": 2, + "max": [ + 0, + -0, + -0.12542000412940979 + ], + "min": [ + 0, + -0, + -0.12542000412940979 + ], + "type": "VEC3" + }, + { + "bufferView": 4, + "byteOffset": 73784, + "componentType": 5126, + "count": 6144, + "max": [ + 256 + ], + "min": [ + 0.041669998317956924 + ], + "type": "SCALAR" + }, + { + "bufferView": 6, + "byteOffset": 294912, + "componentType": 5126, + "count": 6144, + "max": [ + 0, + 0, + 1, + 1 + ], + "min": [ + 0, + 0, + -0.99994999170303345, + -0.0099700000137090683 + ], + "type": "VEC4" + }, + { + "bufferView": 4, + "byteOffset": 98360, + "componentType": 5126, + "count": 2, + "max": [ + 256 + ], + "min": [ + 0.041669998317956924 + ], + "type": "SCALAR" + }, + { + "bufferView": 5, + "byteOffset": 168, + "componentType": 5126, + "count": 2, + "max": [ + 1, + 1, + 1 + ], + "min": [ + 1, + 1, + 1 + ], + "type": "VEC3" + }, + { + "bufferView": 4, + "byteOffset": 98368, + "componentType": 5126, + "count": 2, + "max": [ + 256 + ], + "min": [ + 0.041669998317956924 + ], + "type": "SCALAR" + }, + { + "bufferView": 5, + "byteOffset": 192, + "componentType": 5126, + "count": 2, + "max": [ + 0, + -0, + -0.12542000412940979 + ], + "min": [ + 0, + -0, + -0.12542000412940979 + ], + "type": "VEC3" + }, + { + "bufferView": 4, + "byteOffset": 98376, + "componentType": 5126, + "count": 6144, + "max": [ + 256 + ], + "min": [ + 0.041669998317956924 + ], + "type": "SCALAR" + }, + { + "bufferView": 6, + "byteOffset": 393216, + "componentType": 5126, + "count": 6144, + "max": [ + 0, + 0, + 1, + 1 + ], + "min": [ + 0, + 0, + -0.99994999170303345, + -0.0099700000137090683 + ], + "type": "VEC4" + }, + { + "bufferView": 4, + "byteOffset": 122952, + "componentType": 5126, + "count": 2, + "max": [ + 256 + ], + "min": [ + 0.041669998317956924 + ], + "type": "SCALAR" + }, + { + "bufferView": 5, + "byteOffset": 216, + "componentType": 5126, + "count": 2, + "max": [ + 1, + 1, + 1 + ], + "min": [ + 1, + 1, + 1 + ], + "type": "VEC3" + }, + { + "bufferView": 4, + "byteOffset": 122960, + "componentType": 5126, + "count": 2, + "max": [ + 256 + ], + "min": [ + 0.041669998317956924 + ], + "type": "SCALAR" + }, + { + "bufferView": 5, + "byteOffset": 240, + "componentType": 5126, + "count": 2, + "max": [ + 0, + -0, + -0.12542000412940979 + ], + "min": [ + 0, + -0, + -0.12542000412940979 + ], + "type": "VEC3" + }, + { + "bufferView": 4, + "byteOffset": 122968, + "componentType": 5126, + "count": 6144, + "max": [ + 256 + ], + "min": [ + 0.041669998317956924 + ], + "type": "SCALAR" + }, + { + "bufferView": 6, + "byteOffset": 491520, + "componentType": 5126, + "count": 6144, + "max": [ + 0, + 0, + 1, + 1 + ], + "min": [ + 0, + 0, + -0.99994999170303345, + -0.0099700000137090683 + ], + "type": "VEC4" + }, + { + "bufferView": 4, + "byteOffset": 147544, + "componentType": 5126, + "count": 2, + "max": [ + 256 + ], + "min": [ + 0.041669998317956924 + ], + "type": "SCALAR" + }, + { + "bufferView": 5, + "byteOffset": 264, + "componentType": 5126, + "count": 2, + "max": [ + 1, + 1, + 1 + ], + "min": [ + 1, + 1, + 1 + ], + "type": "VEC3" + }, + { + "bufferView": 4, + "byteOffset": 147552, + "componentType": 5126, + "count": 2, + "max": [ + 256 + ], + "min": [ + 0.041669998317956924 + ], + "type": "SCALAR" + }, + { + "bufferView": 5, + "byteOffset": 288, + "componentType": 5126, + "count": 2, + "max": [ + 0, + -0, + -0.12542000412940979 + ], + "min": [ + 0, + -0, + -0.12542000412940979 + ], + "type": "VEC3" + }, + { + "bufferView": 4, + "byteOffset": 147560, + "componentType": 5126, + "count": 6144, + "max": [ + 256 + ], + "min": [ + 0.041669998317956924 + ], + "type": "SCALAR" + }, + { + "bufferView": 6, + "byteOffset": 589824, + "componentType": 5126, + "count": 6144, + "max": [ + 0, + 0, + 1, + 1 + ], + "min": [ + 0, + 0, + -0.99994999170303345, + -0.0099700000137090683 + ], + "type": "VEC4" + }, + { + "bufferView": 4, + "byteOffset": 172136, + "componentType": 5126, + "count": 2, + "max": [ + 256 + ], + "min": [ + 0.041669998317956924 + ], + "type": "SCALAR" + }, + { + "bufferView": 5, + "byteOffset": 312, + "componentType": 5126, + "count": 2, + "max": [ + 1, + 1, + 1 + ], + "min": [ + 1, + 1, + 1 + ], + "type": "VEC3" + }, + { + "bufferView": 4, + "byteOffset": 172144, + "componentType": 5126, + "count": 2, + "max": [ + 256 + ], + "min": [ + 0.041669998317956924 + ], + "type": "SCALAR" + }, + { + "bufferView": 5, + "byteOffset": 336, + "componentType": 5126, + "count": 2, + "max": [ + 0, + -0, + -0.12542000412940979 + ], + "min": [ + 0, + -0, + -0.12542000412940979 + ], + "type": "VEC3" + }, + { + "bufferView": 4, + "byteOffset": 172152, + "componentType": 5126, + "count": 6144, + "max": [ + 256 + ], + "min": [ + 0.041669998317956924 + ], + "type": "SCALAR" + }, + { + "bufferView": 6, + "byteOffset": 688128, + "componentType": 5126, + "count": 6144, + "max": [ + 0, + 0, + 1, + 1 + ], + "min": [ + 0, + 0, + -0.99786001443862915, + -3.9999998989515007e-05 + ], + "type": "VEC4" + }, + { + "bufferView": 4, + "byteOffset": 196728, + "componentType": 5126, + "count": 2, + "max": [ + 256 + ], + "min": [ + 0.041669998317956924 + ], + "type": "SCALAR" + }, + { + "bufferView": 5, + "byteOffset": 360, + "componentType": 5126, + "count": 2, + "max": [ + 1, + 1, + 1 + ], + "min": [ + 1, + 1, + 1 + ], + "type": "VEC3" + } + ], + "animations": [ + { + "channels": [ + { + "sampler": 0, + "target": { + "node": 47, + "path": "translation" + } + }, + { + "sampler": 1, + "target": { + "node": 47, + "path": "rotation" + } + }, + { + "sampler": 2, + "target": { + "node": 47, + "path": "scale" + } + }, + { + "sampler": 3, + "target": { + "node": 43, + "path": "translation" + } + }, + { + "sampler": 4, + "target": { + "node": 43, + "path": "rotation" + } + }, + { + "sampler": 5, + "target": { + "node": 43, + "path": "scale" + } + }, + { + "sampler": 6, + "target": { + "node": 37, + "path": "translation" + } + }, + { + "sampler": 7, + "target": { + "node": 37, + "path": "rotation" + } + }, + { + "sampler": 8, + "target": { + "node": 37, + "path": "scale" + } + }, + { + "sampler": 9, + "target": { + "node": 33, + "path": "translation" + } + }, + { + "sampler": 10, + "target": { + "node": 33, + "path": "rotation" + } + }, + { + "sampler": 11, + "target": { + "node": 33, + "path": "scale" + } + }, + { + "sampler": 12, + "target": { + "node": 29, + "path": "translation" + } + }, + { + "sampler": 13, + "target": { + "node": 29, + "path": "rotation" + } + }, + { + "sampler": 14, + "target": { + "node": 29, + "path": "scale" + } + }, + { + "sampler": 15, + "target": { + "node": 25, + "path": "translation" + } + }, + { + "sampler": 16, + "target": { + "node": 25, + "path": "rotation" + } + }, + { + "sampler": 17, + "target": { + "node": 25, + "path": "scale" + } + }, + { + "sampler": 18, + "target": { + "node": 21, + "path": "translation" + } + }, + { + "sampler": 19, + "target": { + "node": 21, + "path": "rotation" + } + }, + { + "sampler": 20, + "target": { + "node": 21, + "path": "scale" + } + }, + { + "sampler": 21, + "target": { + "node": 17, + "path": "translation" + } + }, + { + "sampler": 22, + "target": { + "node": 17, + "path": "rotation" + } + }, + { + "sampler": 23, + "target": { + "node": 17, + "path": "scale" + } + } + ], + "name": "Take 01", + "samplers": [ + { + "input": 98, + "interpolation": "LINEAR", + "output": 99 + }, + { + "input": 100, + "interpolation": "LINEAR", + "output": 101 + }, + { + "input": 102, + "interpolation": "LINEAR", + "output": 103 + }, + { + "input": 104, + "interpolation": "LINEAR", + "output": 105 + }, + { + "input": 106, + "interpolation": "LINEAR", + "output": 107 + }, + { + "input": 108, + "interpolation": "LINEAR", + "output": 109 + }, + { + "input": 110, + "interpolation": "LINEAR", + "output": 111 + }, + { + "input": 112, + "interpolation": "LINEAR", + "output": 113 + }, + { + "input": 114, + "interpolation": "LINEAR", + "output": 115 + }, + { + "input": 116, + "interpolation": "LINEAR", + "output": 117 + }, + { + "input": 118, + "interpolation": "LINEAR", + "output": 119 + }, + { + "input": 120, + "interpolation": "LINEAR", + "output": 121 + }, + { + "input": 122, + "interpolation": "LINEAR", + "output": 123 + }, + { + "input": 124, + "interpolation": "LINEAR", + "output": 125 + }, + { + "input": 126, + "interpolation": "LINEAR", + "output": 127 + }, + { + "input": 128, + "interpolation": "LINEAR", + "output": 129 + }, + { + "input": 130, + "interpolation": "LINEAR", + "output": 131 + }, + { + "input": 132, + "interpolation": "LINEAR", + "output": 133 + }, + { + "input": 134, + "interpolation": "LINEAR", + "output": 135 + }, + { + "input": 136, + "interpolation": "LINEAR", + "output": 137 + }, + { + "input": 138, + "interpolation": "LINEAR", + "output": 139 + }, + { + "input": 140, + "interpolation": "LINEAR", + "output": 141 + }, + { + "input": 142, + "interpolation": "LINEAR", + "output": 143 + }, + { + "input": 144, + "interpolation": "LINEAR", + "output": 145 + } + ] + } + ], + "asset": { + "extras": { + "author": "Eranekao (https://sketchfab.com/eranekao)", + "license": "CC-BY-4.0 (http://creativecommons.org/licenses/by/4.0/)", + "source": "https://sketchfab.com/models/44849150982d4c228fca951a66df604f", + "title": "Orrery" + }, + "generator": "Sketchfab-3.18.2", + "version": "2.0" + }, + "bufferViews": [ + { + "buffer": 0, + "byteLength": 1421760, + "byteOffset": 0, + "name": "floatBufferViews", + "target": 34963 + }, + { + "buffer": 0, + "byteLength": 263960, + "byteOffset": 1421760, + "byteStride": 8, + "name": "floatBufferViews", + "target": 34962 + }, + { + "buffer": 0, + "byteLength": 1569600, + "byteOffset": 1685720, + "byteStride": 12, + "name": "floatBufferViews", + "target": 34962 + }, + { + "buffer": 0, + "byteLength": 845984, + "byteOffset": 3255320, + "byteStride": 16, + "name": "floatBufferViews", + "target": 34962 + }, + { + "buffer": 0, + "byteLength": 196736, + "byteOffset": 4101304, + "name": "floatBufferViews" + }, + { + "buffer": 0, + "byteLength": 384, + "byteOffset": 4298040, + "byteStride": 12, + "name": "floatBufferViews" + }, + { + "buffer": 0, + "byteLength": 786432, + "byteOffset": 4298424, + "byteStride": 16, + "name": "floatBufferViews" + } + ], + "buffers": [ + { + "byteLength": 5084856, + "uri": "scene.bin" + } + ], + "extensionsRequired": [ + "KHR_materials_pbrSpecularGlossiness" + ], + "extensionsUsed": [ + "KHR_materials_pbrSpecularGlossiness" + ], + "images": [ + { + "uri": "textures/saturn_diffuse.jpg" + }, + { + "uri": "textures/jupiter_diffuse.jpg" + }, + { + "uri": "textures/wood_diffuse.png" + }, + { + "uri": "textures/wood_occlusion.png" + }, + { + "uri": "textures/mercury_diffuse.jpg" + }, + { + "uri": "textures/mars_diffuse.jpg" + }, + { + "uri": "textures/stars_diffuse.png" + }, + { + "uri": "textures/stars_occlusion.png" + }, + { + "uri": "textures/stars_emissive.png" + }, + { + "uri": "textures/venus_diffuse.jpg" + }, + { + "uri": "textures/saturnrings_diffuse.png" + }, + { + "uri": "textures/sun.jpg" + }, + { + "uri": "textures/sun.jpg" + }, + { + "uri": "textures/neptune_diffuse.jpg" + }, + { + "uri": "textures/earth_diffuse.jpg" + }, + { + "uri": "textures/uranus_diffuse.jpg" + } + ], + "materials": [ + { + "doubleSided": false, + "extensions": { + "KHR_materials_pbrSpecularGlossiness": { + "diffuseFactor": [ + 0, + 0, + 0, + 1 + ], + "glossinessFactor": 0.90000000000000002, + "specularFactor": [ + 0.71585589319999998, + 0.36902079209999999, + 0 + ] + } + }, + "name": "Gold001" + }, + { + "doubleSided": false, + "extensions": { + "KHR_materials_pbrSpecularGlossiness": { + "diffuseFactor": [ + 1, + 1, + 1, + 1 + ], + "diffuseTexture": { + "index": 15, + "texCoord": 0 + }, + "glossinessFactor": 0.90000000000000002, + "specularFactor": [ + 0.040000000595000001, + 0.040000000595000001, + 0.040000000595000001 + ] + } + }, + "name": "uranus" + }, + { + "doubleSided": false, + "extensions": { + "KHR_materials_pbrSpecularGlossiness": { + "diffuseFactor": [ + 1, + 1, + 1, + 1 + ], + "diffuseTexture": { + "index": 13, + "texCoord": 0 + }, + "glossinessFactor": 0.90000000000000002, + "specularFactor": [ + 0.040000000595000001, + 0.040000000595000001, + 0.040000000595000001 + ] + } + }, + "name": "neptune" + }, + { + "doubleSided": false, + "extensions": { + "KHR_materials_pbrSpecularGlossiness": { + "diffuseFactor": [ + 1, + 1, + 1, + 1 + ], + "diffuseTexture": { + "index": 10, + "texCoord": 0 + }, + "glossinessFactor": 0.90000000000000002, + "specularFactor": [ + 0.040000000595000001, + 0.040000000595000001, + 0.040000000595000001 + ] + } + }, + "name": "saturnrings" + }, + { + "doubleSided": false, + "extensions": { + "KHR_materials_pbrSpecularGlossiness": { + "diffuseFactor": [ + 1, + 1, + 1, + 1 + ], + "diffuseTexture": { + "index": 0, + "texCoord": 0 + }, + "glossinessFactor": 0.90000000000000002, + "specularFactor": [ + 0.040000000595000001, + 0.040000000595000001, + 0.040000000595000001 + ] + } + }, + "name": "saturn" + }, + { + "doubleSided": false, + "extensions": { + "KHR_materials_pbrSpecularGlossiness": { + "diffuseFactor": [ + 1, + 1, + 1, + 1 + ], + "diffuseTexture": { + "index": 1, + "texCoord": 0 + }, + "glossinessFactor": 0.90000000000000002, + "specularFactor": [ + 0.040000000595000001, + 0.040000000595000001, + 0.040000000595000001 + ] + } + }, + "name": "jupiter" + }, + { + "doubleSided": false, + "extensions": { + "KHR_materials_pbrSpecularGlossiness": { + "diffuseFactor": [ + 1, + 1, + 1, + 1 + ], + "diffuseTexture": { + "index": 5, + "texCoord": 0 + }, + "glossinessFactor": 0.90000000000000002, + "specularFactor": [ + 0.040000000595000001, + 0.040000000595000001, + 0.040000000595000001 + ] + } + }, + "name": "mars" + }, + { + "doubleSided": false, + "extensions": { + "KHR_materials_pbrSpecularGlossiness": { + "diffuseFactor": [ + 1, + 1, + 1, + 1 + ], + "diffuseTexture": { + "index": 14, + "texCoord": 0 + }, + "glossinessFactor": 0.90000000000000002, + "specularFactor": [ + 0.050000000000000003, + 0.050000000000000003, + 0.050000000000000003 + ] + } + }, + "name": "earth" + }, + { + "doubleSided": false, + "extensions": { + "KHR_materials_pbrSpecularGlossiness": { + "diffuseFactor": [ + 1, + 1, + 1, + 1 + ], + "diffuseTexture": { + "index": 9, + "texCoord": 0 + }, + "glossinessFactor": 0.90000000000000002, + "specularFactor": [ + 0.040000000595000001, + 0.040000000595000001, + 0.040000000595000001 + ] + } + }, + "name": "venus" + }, + { + "doubleSided": false, + "extensions": { + "KHR_materials_pbrSpecularGlossiness": { + "diffuseFactor": [ + 1, + 1, + 1, + 1 + ], + "diffuseTexture": { + "index": 4, + "texCoord": 0 + }, + "glossinessFactor": 0.90000000000000002, + "specularFactor": [ + 0.040000000595000001, + 0.040000000595000001, + 0.040000000595000001 + ] + } + }, + "name": "mercury" + }, + { + "doubleSided": false, + "extensions": { + "KHR_materials_pbrSpecularGlossiness": { + "diffuseFactor": [ + 1, + 1, + 1, + 1 + ], + "diffuseTexture": { + "index": 2, + "texCoord": 0 + }, + "glossinessFactor": 0.90000000000000002, + "specularFactor": [ + 0, + 0, + 0 + ] + } + }, + "name": "wood", + "occlusionTexture": { + "index": 3, + "strength": 1, + "texCoord": 0 + } + }, + { + "doubleSided": false, + "emissiveFactor": [ + 1, + 1, + 1 + ], + "emissiveTexture": { + "index": 8, + "texCoord": 0 + }, + "extensions": { + "KHR_materials_pbrSpecularGlossiness": { + "diffuseFactor": [ + 1, + 1, + 1, + 1 + ], + "diffuseTexture": { + "index": 6, + "texCoord": 0 + }, + "glossinessFactor": 0.28000000000000003, + "specularFactor": [ + 0, + 0, + 0 + ] + } + }, + "name": "stars", + "occlusionTexture": { + "index": 7, + "strength": 1, + "texCoord": 0 + } + }, + { + "doubleSided": false, + "emissiveFactor": [ + 1, + 1, + 1 + ], + "emissiveTexture": { + "index": 12, + "texCoord": 0 + }, + "extensions": { + "KHR_materials_pbrSpecularGlossiness": { + "diffuseFactor": [ + 1, + 1, + 1, + 1 + ], + "diffuseTexture": { + "index": 11, + "texCoord": 0 + }, + "glossinessFactor": 0.90000000000000002, + "specularFactor": [ + 0.050000000000000003, + 0.050000000000000003, + 0.050000000000000003 + ] + } + }, + "name": "material" + } + ], + "meshes": [ + { + "name": "sun_0", + "primitives": [ + { + "attributes": { + "NORMAL": 1, + "POSITION": 0, + "TANGENT": 2, + "TEXCOORD_0": 3 + }, + "indices": 4, + "material": 12, + "mode": 4 + } + ] + }, + { + "name": "base.leg_0", + "primitives": [ + { + "attributes": { + "NORMAL": 6, + "POSITION": 5 + }, + "indices": 7, + "material": 0, + "mode": 4 + } + ] + }, + { + "name": "base.ring_0", + "primitives": [ + { + "attributes": { + "NORMAL": 9, + "POSITION": 8 + }, + "indices": 10, + "material": 0, + "mode": 4 + } + ] + }, + { + "name": "base.main_0", + "primitives": [ + { + "attributes": { + "NORMAL": 12, + "POSITION": 11, + "TANGENT": 13, + "TEXCOORD_0": 14 + }, + "indices": 15, + "material": 10, + "mode": 4 + } + ] + }, + { + "name": "base.main_1", + "primitives": [ + { + "attributes": { + "NORMAL": 17, + "POSITION": 16, + "TANGENT": 18, + "TEXCOORD_0": 19 + }, + "indices": 20, + "material": 11, + "mode": 4 + } + ] + }, + { + "name": "base.main_2", + "primitives": [ + { + "attributes": { + "NORMAL": 22, + "POSITION": 21, + "TANGENT": 23 + }, + "indices": 24, + "material": 0, + "mode": 4 + } + ] + }, + { + "name": "sun.001_0", + "primitives": [ + { + "attributes": { + "NORMAL": 26, + "POSITION": 25, + "TANGENT": 27 + }, + "indices": 28, + "material": 0, + "mode": 4 + } + ] + }, + { + "name": "p1.stk_0", + "primitives": [ + { + "attributes": { + "NORMAL": 30, + "POSITION": 29 + }, + "indices": 31, + "material": 0, + "mode": 4 + } + ] + }, + { + "name": "p1.mercury_0", + "primitives": [ + { + "attributes": { + "NORMAL": 33, + "POSITION": 32, + "TANGENT": 34, + "TEXCOORD_0": 35 + }, + "indices": 36, + "material": 9, + "mode": 4 + } + ] + }, + { + "name": "p2.stk_0", + "primitives": [ + { + "attributes": { + "NORMAL": 38, + "POSITION": 37 + }, + "indices": 39, + "material": 0, + "mode": 4 + } + ] + }, + { + "name": "p2.venus_0", + "primitives": [ + { + "attributes": { + "NORMAL": 41, + "POSITION": 40, + "TANGENT": 42, + "TEXCOORD_0": 43 + }, + "indices": 44, + "material": 8, + "mode": 4 + } + ] + }, + { + "name": "p3.stk_0", + "primitives": [ + { + "attributes": { + "NORMAL": 46, + "POSITION": 45 + }, + "indices": 47, + "material": 0, + "mode": 4 + } + ] + }, + { + "name": "p3.earth_0", + "primitives": [ + { + "attributes": { + "NORMAL": 49, + "POSITION": 48, + "TANGENT": 50, + "TEXCOORD_0": 51 + }, + "indices": 52, + "material": 7, + "mode": 4 + } + ] + }, + { + "name": "p4.stk_0", + "primitives": [ + { + "attributes": { + "NORMAL": 54, + "POSITION": 53 + }, + "indices": 55, + "material": 0, + "mode": 4 + } + ] + }, + { + "name": "p4.mars_0", + "primitives": [ + { + "attributes": { + "NORMAL": 57, + "POSITION": 56, + "TANGENT": 58, + "TEXCOORD_0": 59 + }, + "indices": 60, + "material": 6, + "mode": 4 + } + ] + }, + { + "name": "p5.stk_0", + "primitives": [ + { + "attributes": { + "NORMAL": 62, + "POSITION": 61 + }, + "indices": 63, + "material": 0, + "mode": 4 + } + ] + }, + { + "name": "p5.jupiter_0", + "primitives": [ + { + "attributes": { + "NORMAL": 65, + "POSITION": 64, + "TANGENT": 66, + "TEXCOORD_0": 67 + }, + "indices": 68, + "material": 5, + "mode": 4 + } + ] + }, + { + "name": "p6.stk_0", + "primitives": [ + { + "attributes": { + "NORMAL": 70, + "POSITION": 69 + }, + "indices": 71, + "material": 0, + "mode": 4 + } + ] + }, + { + "name": "p6.rings_0", + "primitives": [ + { + "attributes": { + "NORMAL": 73, + "POSITION": 72, + "TANGENT": 74, + "TEXCOORD_0": 75 + }, + "indices": 76, + "material": 3, + "mode": 4 + } + ] + }, + { + "name": "p6.saturn_0", + "primitives": [ + { + "attributes": { + "NORMAL": 78, + "POSITION": 77, + "TANGENT": 79, + "TEXCOORD_0": 80 + }, + "indices": 81, + "material": 4, + "mode": 4 + } + ] + }, + { + "name": "p7.stk_0", + "primitives": [ + { + "attributes": { + "NORMAL": 83, + "POSITION": 82 + }, + "indices": 84, + "material": 0, + "mode": 4 + } + ] + }, + { + "name": "p7.neptune_0", + "primitives": [ + { + "attributes": { + "NORMAL": 86, + "POSITION": 85, + "TANGENT": 87, + "TEXCOORD_0": 88 + }, + "indices": 89, + "material": 2, + "mode": 4 + } + ] + }, + { + "name": "p8.stk_0", + "primitives": [ + { + "attributes": { + "NORMAL": 91, + "POSITION": 90 + }, + "indices": 92, + "material": 0, + "mode": 4 + } + ] + }, + { + "name": "p8.uranus_0", + "primitives": [ + { + "attributes": { + "NORMAL": 94, + "POSITION": 93, + "TANGENT": 95, + "TEXCOORD_0": 96 + }, + "indices": 97, + "material": 1, + "mode": 4 + } + ] + } + ], + "nodes": [ + { + "children": [ + 1 + ], + "name": "RootNode (gltf orientation matrix)", + "rotation": [ + -0.70710678118654746, + -0, + -0, + 0.70710678118654757 + ] + }, + { + "children": [ + 2 + ], + "name": "RootNode (model correction matrix)" + }, + { + "children": [ + 3, + 5, + 7, + 9, + 13, + 15, + 17, + 21, + 25, + 29, + 33, + 37, + 43, + 47 + ], + "name": "Root" + }, + { + "children": [ + 4 + ], + "matrix": [ + 0.049120000000000011, + 0, + 0, + 0, + 0, + 0.049120000000000011, + 0, + 0, + 0, + 0, + 0.049120000000000011, + 0, + 0, + 0, + 0.14838000000000001, + 1 + ], + "name": "sun" + }, + { + "mesh": 0, + "name": "sun_0" + }, + { + "children": [ + 6 + ], + "matrix": [ + 0.056140000000000009, + 0, + 0, + 0, + 0, + 0.056140000000000009, + 0, + 0, + 0, + 0, + 0.056140000000000009, + 0, + 0, + 0, + -0.80140999999999996, + 1 + ], + "name": "base.leg" + }, + { + "mesh": 1, + "name": "base.leg_0" + }, + { + "children": [ + 8 + ], + "matrix": [ + 1.0566899999999999, + 0, + 0, + 0, + 0, + 1.0566899999999999, + 0, + 0, + 0, + 0, + 1.0566899999999999, + 0, + 0, + 0, + -0.21969000000000002, + 1 + ], + "name": "base.ring" + }, + { + "mesh": 2, + "name": "base.ring_0" + }, + { + "children": [ + 10, + 11, + 12 + ], + "matrix": [ + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + -0.071830000000000005, + 1 + ], + "name": "base.main" + }, + { + "mesh": 3, + "name": "base.main_0" + }, + { + "mesh": 4, + "name": "base.main_1" + }, + { + "mesh": 5, + "name": "base.main_2" + }, + { + "children": [ + 14 + ], + "matrix": [ + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 1.2227899999999998, + 1 + ], + "name": "Hemi" + }, + { + "name": "Hemi" + }, + { + "children": [ + 16 + ], + "matrix": [ + 0.049120000000000011, + 0, + 0, + 0, + 0, + 0.049120000000000011, + 0, + 0, + 0, + 0, + 0.049120000000000011, + 0, + 0, + 0, + 0.14838000000000001, + 1 + ], + "name": "sun.001" + }, + { + "mesh": 6, + "name": "sun.001_0" + }, + { + "children": [ + 18, + 19 + ], + "name": "p1.stk", + "rotation": [ + 0, + 0, + -0.19508911669254303, + 0.9807855486869812 + ], + "translation": [ + 0, + -0, + -0.12542000412940979 + ] + }, + { + "mesh": 7, + "name": "p1.stk_0" + }, + { + "children": [ + 20 + ], + "matrix": [ + 0.13848000000000002, + 0, + 0, + 0, + 0, + 0.13848000000000002, + 0, + 0, + 0, + 0, + 0.13848000000000002, + 0, + 0.19613000000000003, + -0, + 0.26578999999999997, + 1 + ], + "name": "p1.mercury" + }, + { + "mesh": 8, + "name": "p1.mercury_0" + }, + { + "children": [ + 22, + 23 + ], + "name": "p2.stk", + "rotation": [ + 0, + 0, + 0.99147599935531616, + 0.1302894800901413 + ], + "translation": [ + 0, + -0, + -0.12542000412940979 + ] + }, + { + "mesh": 9, + "name": "p2.stk_0" + }, + { + "children": [ + 24 + ], + "matrix": [ + -0.038260000000000002, + 0.078100000000000017, + 0, + 0, + -0.078100000000000017, + -0.038260000000000002, + 0, + 0, + 0, + 0, + 0.086960000000000023, + 0, + 0.15971000000000005, + 0.25607000000000002, + 0.26578999999999997, + 1 + ], + "name": "p2.venus" + }, + { + "mesh": 10, + "name": "p2.venus_0" + }, + { + "children": [ + 26, + 27 + ], + "name": "p3.stk", + "rotation": [ + 0, + 0, + 0.65943300724029541, + 0.75176340341567993 + ], + "translation": [ + 0, + -0, + -0.12542000412940979 + ] + }, + { + "mesh": 11, + "name": "p3.stk_0" + }, + { + "children": [ + 28 + ], + "matrix": [ + -0.069450000000000012, + 0.052310000000000016, + -0.0016100000000000003, + 0, + -0.04864000000000001, + -0.065500000000000017, + -0.030120000000000004, + 0, + -0.019330000000000003, + -0.023150000000000007, + 0.081570000000000017, + 0, + -0.29939000000000004, + 0.27686000000000005, + 0.26578999999999997, + 1 + ], + "name": "p3.earth" + }, + { + "mesh": 12, + "name": "p3.earth_0" + }, + { + "children": [ + 30, + 31 + ], + "name": "p4.stk", + "rotation": [ + 0, + 0, + 0.35229906439781189, + 0.93588757514953613 + ], + "translation": [ + 0, + -0, + -0.12542000412940979 + ] + }, + { + "mesh": 13, + "name": "p4.stk_0" + }, + { + "children": [ + 32 + ], + "matrix": [ + -0.11737000000000002, + 0.05229000000000001, + 0, + 0, + -0.05229000000000001, + -0.11737000000000002, + 0, + 0, + 0, + 0, + 0.12849000000000002, + 0, + -0.46654000000000001, + 0.20783000000000001, + 0.26578999999999997, + 1 + ], + "name": "p4.mars" + }, + { + "mesh": 14, + "name": "p4.mars_0" + }, + { + "children": [ + 34, + 35 + ], + "name": "p5.stk", + "rotation": [ + 0, + 0, + 0.17904999852180481, + 0.98383998870849609 + ], + "translation": [ + 0, + -0, + -0.12542000412940979 + ] + }, + { + "mesh": 15, + "name": "p5.stk_0" + }, + { + "children": [ + 36 + ], + "matrix": [ + -0.0021200000000000004, + -0.0075700000000000021, + 0, + 0, + 0.0075700000000000021, + -0.0021200000000000004, + 0, + 0, + 0, + 0, + 0.0078600000000000024, + 0, + -0.16627000000000003, + -0.59323000000000004, + 0.26578999999999997, + 1 + ], + "name": "p5.jupiter" + }, + { + "mesh": 16, + "name": "p5.jupiter_0" + }, + { + "children": [ + 38, + 39, + 41 + ], + "name": "p6.stk", + "rotation": [ + 0, + 0, + 0.089890167117118835, + 0.99595177173614502 + ], + "translation": [ + 0, + -0, + -0.12542000412940979 + ] + }, + { + "mesh": 17, + "name": "p6.stk_0" + }, + { + "children": [ + 40 + ], + "matrix": [ + 0.0037800000000000012, + 0.004170000000000001, + 0.00019000000000000006, + 0, + -0.0038300000000000014, + 0.0035700000000000011, + -0.0020600000000000006, + 0, + -0.0016500000000000004, + 0.0012600000000000003, + 0.0052300000000000003, + 0, + 0.43061000000000005, + 0.57777000000000012, + 0.26635000000000003, + 1 + ], + "name": "p6.rings" + }, + { + "mesh": 18, + "name": "p6.rings_0" + }, + { + "children": [ + 42 + ], + "matrix": [ + 0.0062400000000000016, + 0.0068800000000000024, + 0.00031000000000000011, + 0, + -0.0063300000000000014, + 0.0058900000000000011, + -0.0034100000000000011, + 0, + -0.0027200000000000006, + 0.0020800000000000007, + 0.0086400000000000018, + 0, + 0.43058000000000007, + 0.57773000000000008, + 0.26578999999999997, + 1 + ], + "name": "p6.saturn" + }, + { + "mesh": 19, + "name": "p6.saturn_0" + }, + { + "children": [ + 44, + 45 + ], + "name": "p7.stk", + "rotation": [ + 0, + 0, + 0.044989887624979019, + 0.99898749589920044 + ], + "translation": [ + 0, + -0, + -0.12542000412940979 + ] + }, + { + "mesh": 20, + "name": "p7.stk_0" + }, + { + "children": [ + 46 + ], + "matrix": [ + -0.018790000000000001, + -0.0048800000000000015, + 0, + 0, + 0.0048800000000000015, + -0.018790000000000001, + 0, + 0, + 0, + 0, + 0.019420000000000003, + 0, + -0.79949000000000003, + -0.20782, + 0.26578999999999997, + 1 + ], + "name": "p7.neptune" + }, + { + "mesh": 21, + "name": "p7.neptune_0" + }, + { + "children": [ + 48, + 49 + ], + "name": "p8.stk", + "rotation": [ + 0, + 0, + 0.0230098906904459, + 0.99973523616790771 + ], + "translation": [ + 0, + -0, + -0.12542000412940979 + ] + }, + { + "mesh": 22, + "name": "p8.stk_0" + }, + { + "children": [ + 50 + ], + "matrix": [ + 0.0043800000000000011, + 0.020620000000000003, + 0, + 0, + -0.020620000000000003, + 0.0043800000000000011, + 0, + 0, + 0, + 0, + 0.021080000000000005, + 0, + 0.19358000000000003, + 0.91222000000000003, + 0.26578999999999997, + 1 + ], + "name": "p8.uranus" + }, + { + "mesh": 23, + "name": "p8.uranus_0" + } + ], + "samplers": [ + { + "magFilter": 9729, + "minFilter": 9987, + "wrapS": 10497, + "wrapT": 10497 + } + ], + "scene": 0, + "scenes": [ + { + "name": "OSG_Scene", + "nodes": [ + 0 + ] + } + ], + "textures": [ + { + "sampler": 0, + "source": 0 + }, + { + "sampler": 0, + "source": 1 + }, + { + "sampler": 0, + "source": 2 + }, + { + "sampler": 0, + "source": 3 + }, + { + "sampler": 0, + "source": 4 + }, + { + "sampler": 0, + "source": 5 + }, + { + "sampler": 0, + "source": 6 + }, + { + "sampler": 0, + "source": 7 + }, + { + "sampler": 0, + "source": 8 + }, + { + "sampler": 0, + "source": 9 + }, + { + "sampler": 0, + "source": 10 + }, + { + "sampler": 0, + "source": 11 + }, + { + "sampler": 0, + "source": 12 + }, + { + "sampler": 0, + "source": 13 + }, + { + "sampler": 0, + "source": 14 + }, + { + "sampler": 0, + "source": 15 + } + ] +} + diff --git a/data/meshes/orrery/src.txt b/data/meshes/orrery/src.txt new file mode 100644 index 0000000..cff99eb --- /dev/null +++ b/data/meshes/orrery/src.txt @@ -0,0 +1,4 @@ +https://sketchfab.com/3d-models/orrery-44849150982d4c228fca951a66df604f + + +Eranekao diff --git a/data/meshes/orrery/textures/earth_diffuse.jpg b/data/meshes/orrery/textures/earth_diffuse.jpg new file mode 100644 index 0000000..a106ac6 Binary files /dev/null and b/data/meshes/orrery/textures/earth_diffuse.jpg differ diff --git a/data/meshes/orrery/textures/jupiter_diffuse.jpg b/data/meshes/orrery/textures/jupiter_diffuse.jpg new file mode 100644 index 0000000..f75b90e Binary files /dev/null and b/data/meshes/orrery/textures/jupiter_diffuse.jpg differ diff --git a/data/meshes/orrery/textures/mars_diffuse.jpg b/data/meshes/orrery/textures/mars_diffuse.jpg new file mode 100644 index 0000000..b1f9716 Binary files /dev/null and b/data/meshes/orrery/textures/mars_diffuse.jpg differ diff --git a/data/meshes/orrery/textures/mercury_diffuse.jpg b/data/meshes/orrery/textures/mercury_diffuse.jpg new file mode 100644 index 0000000..fc5bc91 Binary files /dev/null and b/data/meshes/orrery/textures/mercury_diffuse.jpg differ diff --git a/data/meshes/orrery/textures/neptune_diffuse.jpg b/data/meshes/orrery/textures/neptune_diffuse.jpg new file mode 100644 index 0000000..772ad73 Binary files /dev/null and b/data/meshes/orrery/textures/neptune_diffuse.jpg differ diff --git a/data/meshes/orrery/textures/saturn_diffuse.jpg b/data/meshes/orrery/textures/saturn_diffuse.jpg new file mode 100644 index 0000000..ecf2b79 Binary files /dev/null and b/data/meshes/orrery/textures/saturn_diffuse.jpg differ diff --git a/data/meshes/orrery/textures/saturnrings_diffuse.png b/data/meshes/orrery/textures/saturnrings_diffuse.png new file mode 100644 index 0000000..a507f2c Binary files /dev/null and b/data/meshes/orrery/textures/saturnrings_diffuse.png differ diff --git a/data/meshes/orrery/textures/stars_diffuse.png b/data/meshes/orrery/textures/stars_diffuse.png new file mode 100644 index 0000000..0de75af Binary files /dev/null and b/data/meshes/orrery/textures/stars_diffuse.png differ diff --git a/data/meshes/orrery/textures/stars_emissive.png b/data/meshes/orrery/textures/stars_emissive.png new file mode 100644 index 0000000..f26e9c7 Binary files /dev/null and b/data/meshes/orrery/textures/stars_emissive.png differ diff --git a/data/meshes/orrery/textures/stars_occlusion.png b/data/meshes/orrery/textures/stars_occlusion.png new file mode 100644 index 0000000..a34625b Binary files /dev/null and b/data/meshes/orrery/textures/stars_occlusion.png differ diff --git a/data/meshes/orrery/textures/sun.jpg b/data/meshes/orrery/textures/sun.jpg new file mode 100644 index 0000000..16fd3a4 Binary files /dev/null and b/data/meshes/orrery/textures/sun.jpg differ diff --git a/data/meshes/orrery/textures/uranus_diffuse.jpg b/data/meshes/orrery/textures/uranus_diffuse.jpg new file mode 100644 index 0000000..69a038f Binary files /dev/null and b/data/meshes/orrery/textures/uranus_diffuse.jpg differ diff --git a/data/meshes/orrery/textures/venus_diffuse.jpg b/data/meshes/orrery/textures/venus_diffuse.jpg new file mode 100644 index 0000000..e554b82 Binary files /dev/null and b/data/meshes/orrery/textures/venus_diffuse.jpg differ diff --git a/data/meshes/orrery/textures/wood_diffuse.png b/data/meshes/orrery/textures/wood_diffuse.png new file mode 100644 index 0000000..0de75af Binary files /dev/null and b/data/meshes/orrery/textures/wood_diffuse.png differ diff --git a/data/meshes/orrery/textures/wood_occlusion.png b/data/meshes/orrery/textures/wood_occlusion.png new file mode 100644 index 0000000..a34625b Binary files /dev/null and b/data/meshes/orrery/textures/wood_occlusion.png differ diff --git a/data/piazza_bologni_1k.hdr b/data/piazza_bologni_1k.hdr new file mode 100644 index 0000000..e5d6607 Binary files /dev/null and b/data/piazza_bologni_1k.hdr differ diff --git a/data/piazza_bologni_1k_charlie.ktx b/data/piazza_bologni_1k_charlie.ktx new file mode 100644 index 0000000..871faac Binary files /dev/null and b/data/piazza_bologni_1k_charlie.ktx differ diff --git a/data/piazza_bologni_1k_irradiance.ktx b/data/piazza_bologni_1k_irradiance.ktx new file mode 100644 index 0000000..d8300c3 Binary files /dev/null and b/data/piazza_bologni_1k_irradiance.ktx differ diff --git a/data/piazza_bologni_1k_prefilter.ktx b/data/piazza_bologni_1k_prefilter.ktx new file mode 100644 index 0000000..b808519 Binary files /dev/null and b/data/piazza_bologni_1k_prefilter.ktx differ diff --git a/data/rot_texture.bmp b/data/rot_texture.bmp new file mode 100644 index 0000000..fec1afd Binary files /dev/null and b/data/rot_texture.bmp differ diff --git a/data/rubber_duck/scene.bin b/data/rubber_duck/scene.bin new file mode 100644 index 0000000..f02a80b Binary files /dev/null and b/data/rubber_duck/scene.bin differ diff --git a/data/rubber_duck/scene.gltf b/data/rubber_duck/scene.gltf new file mode 100644 index 0000000..a43170e --- /dev/null +++ b/data/rubber_duck/scene.gltf @@ -0,0 +1,231 @@ +{ + "accessors": [ + { + "bufferView": 2, + "componentType": 5126, + "count": 5676, + "max": [ + 0.36252099275588989, + 0.51303797960281372, + 1.0525829792022705 + ], + "min": [ + -0.36252099275588989, + -0.48232200741767883, + 0.00014600000577047467 + ], + "type": "VEC3" + }, + { + "bufferView": 2, + "byteOffset": 68112, + "componentType": 5126, + "count": 5676, + "max": [ + 0.99994742870330811, + 0.99997341632843018, + 0.9999920129776001 + ], + "min": [ + -0.99994742870330811, + -0.99984163045883179, + -1 + ], + "type": "VEC3" + }, + { + "bufferView": 3, + "componentType": 5126, + "count": 5676, + "max": [ + 0.99985033273696899, + 0.99970757961273193, + 0.99825453758239746, + 1 + ], + "min": [ + -1, + -0.99970918893814087, + -0.99825495481491089, + -1 + ], + "type": "VEC4" + }, + { + "bufferView": 1, + "componentType": 5126, + "count": 5676, + "max": [ + 0.9983140230178833, + 0.87805598974227905 + ], + "min": [ + 0.00010900000052060932, + 0.00010900000052060932 + ], + "type": "VEC2" + }, + { + "bufferView": 0, + "componentType": 5125, + "count": 33216, + "max": [ + 5675 + ], + "min": [ + 0 + ], + "type": "SCALAR" + } + ], + "asset": { + "extras": { + "author": "emilsvfx (https://sketchfab.com/emilsvfx)", + "license": "CC-BY-4.0 (http://creativecommons.org/licenses/by/4.0/)", + "source": "https://sketchfab.com/models/a84cecb600c04eeba60d02f99b8b154b", + "title": "Rubber Duck" + }, + "generator": "Sketchfab-3.37.2", + "version": "2.0" + }, + "bufferViews": [ + { + "buffer": 0, + "byteLength": 132864, + "byteOffset": 0, + "name": "floatBufferViews", + "target": 34963 + }, + { + "buffer": 0, + "byteLength": 45408, + "byteOffset": 132864, + "byteStride": 8, + "name": "floatBufferViews", + "target": 34962 + }, + { + "buffer": 0, + "byteLength": 136224, + "byteOffset": 178272, + "byteStride": 12, + "name": "floatBufferViews", + "target": 34962 + }, + { + "buffer": 0, + "byteLength": 90816, + "byteOffset": 314496, + "byteStride": 16, + "name": "floatBufferViews", + "target": 34962 + } + ], + "buffers": [ + { + "byteLength": 405312, + "uri": "scene.bin" + } + ], + "images": [ + { + "uri": "textures/Duck_baseColor.png" + } + ], + "materials": [ + { + "doubleSided": true, + "emissiveFactor": [ + 0, + 0, + 0 + ], + "name": "Duck", + "pbrMetallicRoughness": { + "baseColorFactor": [ + 1, + 1, + 1, + 1 + ], + "baseColorTexture": { + "index": 0, + "texCoord": 0 + }, + "metallicFactor": 0, + "roughnessFactor": 0.84349154199999998 + } + } + ], + "meshes": [ + { + "primitives": [ + { + "attributes": { + "NORMAL": 1, + "POSITION": 0, + "TANGENT": 2, + "TEXCOORD_0": 3 + }, + "indices": 4, + "material": 0, + "mode": 4 + } + ] + } + ], + "nodes": [ + { + "children": [ + 1 + ], + "name": "RootNode (gltf orientation matrix)", + "rotation": [ + -0.70710678118654746, + -0, + -0, + 0.70710678118654757 + ] + }, + { + "children": [ + 2 + ], + "name": "RootNode (model correction matrix)" + }, + { + "children": [ + 3 + ], + "name": "duck.obj.cleaner.materialmerger.gles" + }, + { + "mesh": 0, + "name": "" + } + ], + "samplers": [ + { + "magFilter": 9729, + "minFilter": 9987, + "wrapS": 10497, + "wrapT": 10497 + } + ], + "scene": 0, + "scenes": [ + { + "name": "OSG_Scene", + "nodes": [ + 0 + ] + } + ], + "textures": [ + { + "sampler": 0, + "source": 0 + } + ] +} + diff --git a/data/rubber_duck/textures/Duck_baseColor.png b/data/rubber_duck/textures/Duck_baseColor.png new file mode 100644 index 0000000..562cea0 Binary files /dev/null and b/data/rubber_duck/textures/Duck_baseColor.png differ diff --git a/data/shaders/AlphaTest.sp b/data/shaders/AlphaTest.sp new file mode 100644 index 0000000..3f5061b --- /dev/null +++ b/data/shaders/AlphaTest.sp @@ -0,0 +1,20 @@ +// + +void runAlphaTest(float alpha, float alphaThreshold) +{ + if (alphaThreshold > 0.0) { + // http://alex-charlton.com/posts/Dithering_on_the_GPU/ + // https://forums.khronos.org/showthread.php/5091-screen-door-transparency + mat4 thresholdMatrix = mat4( + 1.0 / 17.0, 9.0 / 17.0, 3.0 / 17.0, 11.0 / 17.0, + 13.0 / 17.0, 5.0 / 17.0, 15.0 / 17.0, 7.0 / 17.0, + 4.0 / 17.0, 12.0 / 17.0, 2.0 / 17.0, 10.0 / 17.0, + 16.0 / 17.0, 8.0 / 17.0, 14.0 / 17.0, 6.0 / 17.0 + ); + + alpha = clamp(alpha - 0.5 * thresholdMatrix[int(mod(gl_FragCoord.x, 4.0))][int(mod(gl_FragCoord.y, 4.0))], 0.0, 1.0); + + if (alpha < alphaThreshold) + discard; + } +} diff --git a/data/shaders/Blur.comp b/data/shaders/Blur.comp new file mode 100644 index 0000000..1cab015 --- /dev/null +++ b/data/shaders/Blur.comp @@ -0,0 +1,76 @@ +// +layout (local_size_x = 16, local_size_y = 16) in; + +layout (set = 0, binding = 0) uniform texture2D kTextures2D[]; +layout (set = 0, binding = 1) uniform sampler kSamplers[]; + +layout (set = 0, binding = 2, rgba8) uniform writeonly image2D kTextures2DOut[]; + +ivec2 textureBindlessSize2D(uint textureid) { + return textureSize(nonuniformEXT(kTextures2D[textureid]), 0); +} + +vec4 textureBindless2D(uint textureid, vec2 uv) { + return textureLod(nonuniformEXT(sampler2D(kTextures2D[textureid], kSamplers[0])), uv, 0); +} + +layout (constant_id = 0) const bool kIsHorizontal = true; + +layout(push_constant) uniform PushConstants { + uint texDepth; + uint texIn; + uint texOut; + float depthThreshold; +} pc; + +const int kFilterSize = 17; + +// https://drdesten.github.io/web/tools/gaussian_kernel/ +const float gaussWeights[kFilterSize] = float[]( + 0.00001525878906, + 0.0002441406250, + 0.001831054688, + 0.008544921875, + 0.02777099609, + 0.06665039063, + 0.1221923828, + 0.1745605469, + 0.1963806152, + 0.1745605469, + 0.1221923828, + 0.06665039063, + 0.02777099609, + 0.008544921875, + 0.001831054688, + 0.0002441406250, + 0.00001525878906 +); + +void main() { + const vec2 size = textureBindlessSize2D(pc.texIn).xy; + const vec2 xy = gl_GlobalInvocationID.xy; + + if (xy.x > size.x || xy.y > size.y) + return; + + const vec2 texCoord = (gl_GlobalInvocationID.xy + vec2(0.5)) / size; + + const float texScaler = 1.0 / (kIsHorizontal ? size.x : size.y); + + vec3 c = vec3(0.0); + + vec3 fragColor = textureBindless2D(pc.texIn, texCoord).rgb; + float fragDepth = textureBindless2D(pc.texDepth, texCoord).r; + + for ( int i = 0; i != kFilterSize; i++ ) { + float offset = float(i - kFilterSize/2); + vec2 uv = texCoord + texScaler * (kIsHorizontal ? vec2(offset, 0) : vec2(0, offset)); + vec3 color = textureBindless2D(pc.texIn, uv).rgb; + float depth = textureBindless2D(pc.texDepth, uv).r; + // bilateral blur + float weight = clamp(abs(depth - fragDepth) * pc.depthThreshold, 0.0, 1.0); + c += mix(color, fragColor, weight) * gaussWeights[i]; + } + + imageStore(kTextures2DOut[pc.texOut], ivec2(xy), vec4(c, 1.0) ); +} diff --git a/data/shaders/Grid.frag b/data/shaders/Grid.frag new file mode 100644 index 0000000..45781f1 --- /dev/null +++ b/data/shaders/Grid.frag @@ -0,0 +1,13 @@ +// +#version 460 core + +#include +#include + +layout (location=0) in vec2 uv; +layout (location=1) in vec2 camPos; +layout (location=0) out vec4 out_FragColor; + +void main() { + out_FragColor = gridColor(uv, camPos); +} diff --git a/data/shaders/Grid.vert b/data/shaders/Grid.vert new file mode 100644 index 0000000..415b20e --- /dev/null +++ b/data/shaders/Grid.vert @@ -0,0 +1,39 @@ +// +#version 460 core + +#include + +layout(push_constant) uniform PerFrameData { + mat4 MVP; + vec4 cameraPos; + vec4 origin; +}; + +layout (location=0) out vec2 uv; +layout (location=1) out vec2 out_camPos; + +const vec3 pos[4] = vec3[4]( + vec3(-1.0, 0.0, -1.0), + vec3( 1.0, 0.0, -1.0), + vec3( 1.0, 0.0, 1.0), + vec3(-1.0, 0.0, 1.0) +); + +const int indices[6] = int[6]( + 0, 1, 2, 2, 3, 0 +); + +void main() { + int idx = indices[gl_VertexIndex]; + vec3 position = pos[idx] * gridSize; + + position.x += cameraPos.x; + position.z += cameraPos.z; + + position += origin.xyz; + + out_camPos = cameraPos.xz; + + gl_Position = MVP * vec4(position, 1.0); + uv = position.xz; +} diff --git a/data/shaders/GridCalculation.h b/data/shaders/GridCalculation.h new file mode 100644 index 0000000..c4c8e83 --- /dev/null +++ b/data/shaders/GridCalculation.h @@ -0,0 +1,54 @@ +float log10(float x) { + return log(x) / log(10.0); +} + +float satf(float x) { + return clamp(x, 0.0, 1.0); +} + +vec2 satv(vec2 x) { + return clamp(x, vec2(0.0), vec2(1.0)); +} + +float max2(vec2 v) { + return max(v.x, v.y); +} + +vec4 gridColor(vec2 uv, vec2 camPos) { + vec2 dudv = vec2( + length(vec2(dFdx(uv.x), dFdy(uv.x))), + length(vec2(dFdx(uv.y), dFdy(uv.y))) + ); + + float lodLevel = max(0.0, log10((length(dudv) * gridMinPixelsBetweenCells) / gridCellSize) + 1.0); + float lodFade = fract(lodLevel); + + // cell sizes for lod0, lod1 and lod2 + float lod0 = gridCellSize * pow(10.0, floor(lodLevel)); + float lod1 = lod0 * 10.0; + float lod2 = lod1 * 10.0; + + // each anti-aliased line covers up to 4 pixels + dudv *= 4.0; + + // set grid coordinates to the centers of anti-aliased lines for subsequent alpha calculations + uv += dudv * 0.5; + + // calculate absolute distances to cell line centers for each lod and pick max X/Y to get coverage alpha value + float lod0a = max2( vec2(1.0) - abs(satv(mod(uv, lod0) / dudv) * 2.0 - vec2(1.0)) ); + float lod1a = max2( vec2(1.0) - abs(satv(mod(uv, lod1) / dudv) * 2.0 - vec2(1.0)) ); + float lod2a = max2( vec2(1.0) - abs(satv(mod(uv, lod2) / dudv) * 2.0 - vec2(1.0)) ); + + uv -= camPos; + + // blend between falloff colors to handle LOD transition + vec4 c = lod2a > 0.0 ? gridColorThick : lod1a > 0.0 ? mix(gridColorThick, gridColorThin, lodFade) : gridColorThin; + + // calculate opacity falloff based on distance to grid extents + float opacityFalloff = (1.0 - satf(length(uv) / gridSize)); + + // blend between LOD level alphas and scale with opacity falloff + c.a *= (lod2a > 0.0 ? lod2a : lod1a > 0.0 ? lod1a : (lod0a * (1.0-lodFade))) * opacityFalloff; + + return c; +} diff --git a/data/shaders/GridParameters.h b/data/shaders/GridParameters.h new file mode 100644 index 0000000..32cde6d --- /dev/null +++ b/data/shaders/GridParameters.h @@ -0,0 +1,14 @@ +// extents of grid in world coordinates +float gridSize = 100.0; + +// size of one cell +float gridCellSize = 0.025; + +// color of thin lines +vec4 gridColorThin = vec4(0.5, 0.5, 0.5, 1.0); + +// color of thick lines (every tenth line) +vec4 gridColorThick = vec4(0.0, 0.0, 0.0, 1.0); + +// minimum number of pixels between cell lines before LOD switch should occur. +const float gridMinPixelsBetweenCells = 2.0; diff --git a/data/shaders/Quad.frag b/data/shaders/Quad.frag new file mode 100644 index 0000000..f6d0a6a --- /dev/null +++ b/data/shaders/Quad.frag @@ -0,0 +1,12 @@ +// + +layout (location=0) in vec2 uv; +layout (location=0) out vec4 out_FragColor; + +layout(push_constant) uniform PerFrameData { + uint textureId; +}; + +void main() { + out_FragColor = textureBindless2D(textureId, 0, uv); +}; diff --git a/data/shaders/Quad.vert b/data/shaders/Quad.vert new file mode 100644 index 0000000..6439221 --- /dev/null +++ b/data/shaders/Quad.vert @@ -0,0 +1,11 @@ +// +#version 460 + +layout (location=0) out vec2 uv; + +// https://www.saschawillems.de/blog/2016/08/13/vulkan-tutorial-on-rendering-a-fullscreen-quad-without-buffers/ +void main() { + uv = vec2((gl_VertexIndex << 1) & 2, gl_VertexIndex & 2); + + gl_Position = vec4(uv * 2.0 + -1.0, 0.0, 1.0); +} diff --git a/data/shaders/QuadFlip.vert b/data/shaders/QuadFlip.vert new file mode 100644 index 0000000..82acc1d --- /dev/null +++ b/data/shaders/QuadFlip.vert @@ -0,0 +1,11 @@ +// +#version 460 + +layout (location=0) out vec2 uv; + +// https://www.saschawillems.de/blog/2016/08/13/vulkan-tutorial-on-rendering-a-fullscreen-quad-without-buffers/ +void main() { + uv = vec2((gl_VertexIndex << 1) & 2, gl_VertexIndex & 2); + + gl_Position = vec4(uv * vec2(2, -2) + vec2(-1, 1), 0.0, 1.0); +} diff --git a/data/shaders/Shadow.sp b/data/shaders/Shadow.sp new file mode 100644 index 0000000..1d67ff7 --- /dev/null +++ b/data/shaders/Shadow.sp @@ -0,0 +1,19 @@ +// + +float PCF3x3(vec3 uvw, uint textureid, uint samplerid) { + float size = 1.0 / textureBindlessSize2D(textureid).x; // assume square texture + float shadow = 0.0; + for (int v=-1; v<=+1; v++) + for (int u=-1; u<=+1; u++) + shadow += textureBindless2DShadow(textureid, samplerid, uvw + size * vec3(u, v, 0)); + return shadow / 9; +} + +float shadow(vec4 s, uint textureid, uint samplerid) { + s = s / s.w; + if (s.z > -1.0 && s.z < 1.0) { + float shadowSample = PCF3x3(vec3(s.x, 1.0 - s.y, s.z), textureid, samplerid); + return mix(0.3, 1.0, shadowSample); + } + return 1.0; +} diff --git a/data/shaders/UtilsPBR.sp b/data/shaders/UtilsPBR.sp new file mode 100644 index 0000000..2eab244 --- /dev/null +++ b/data/shaders/UtilsPBR.sp @@ -0,0 +1,42 @@ +// + +const float M_PI = 3.141592653589793; + +vec4 SRGBtoLINEAR(vec4 srgbIn) { + vec3 linOut = pow(srgbIn.xyz,vec3(2.2)); + + return vec4(linOut, srgbIn.a); +} + +// http://www.thetenthplanet.de/archives/1180 +// modified to fix handedness of the resulting cotangent frame +mat3 cotangentFrame( vec3 N, vec3 p, vec2 uv ) { + // get edge vectors of the pixel triangle + vec3 dp1 = dFdx( p ); + vec3 dp2 = dFdy( p ); + vec2 duv1 = dFdx( uv ); + vec2 duv2 = dFdy( uv ); + + // solve the linear system + vec3 dp2perp = cross( dp2, N ); + vec3 dp1perp = cross( N, dp1 ); + vec3 T = dp2perp * duv1.x + dp1perp * duv2.x; + vec3 B = dp2perp * duv1.y + dp1perp * duv2.y; + + // construct a scale-invariant frame + float invmax = inversesqrt( max( dot(T,T), dot(B,B) ) ); + + // calculate handedness of the resulting cotangent frame + float w = (dot(cross(N, T), B) < 0.0) ? -1.0 : 1.0; + + // adjust tangent if needed + T = T * w; + + return mat3( T * invmax, B * invmax, N ); +} + +vec3 perturbNormal(vec3 n, vec3 v, vec3 normalSample, vec2 uv) { + vec3 map = normalize( 2.0 * normalSample - vec3(1.0) ); + mat3 TBN = cotangentFrame(n, v, uv); + return normalize(TBN * map); +} diff --git a/data/shaders/gltf/PBR.sp b/data/shaders/gltf/PBR.sp new file mode 100644 index 0000000..c9aa564 --- /dev/null +++ b/data/shaders/gltf/PBR.sp @@ -0,0 +1,635 @@ +// Based on: https://github.com/KhronosGroup/glTF-WebGL-PBR/blob/master/shaders/pbr-frag.glsl + +// Encapsulate the various inputs used by the various functions in the shading equation +// We store values in this struct to simplify the integration of alternative implementations +// of the shading terms, outlined in the Readme.MD Appendix. + +struct PBRInfo { + // geometry properties + float NdotL; // cos angle between normal and light direction + float NdotV; // cos angle between normal and view direction + float NdotH; // cos angle between normal and half vector + float LdotH; // cos angle between light direction and half vector + float VdotH; // cos angle between view direction and half vector + + // Normal + vec3 n; // Sahding normal + vec3 ng; // Geometry normal + vec3 t; // Geometry tangent + vec3 b; // Geometry bitangent + + vec3 v; // vector from surface point to camera + + // material properties + float perceptualRoughness; // roughness value, as authored by the model creator (input to shader) + vec3 reflectance0; // full reflectance color (normal incidence angle) + vec3 reflectance90; // reflectance color at grazing angle + float alphaRoughness; // roughness mapped to a more linear change in the roughness (proposed by [2]) + vec3 diffuseColor; // color contribution from diffuse lighting + vec3 specularColor; // color contribution from specular lighting + + vec4 baseColor; + float metallic; + + float sheenRoughnessFactor; + vec3 sheenColorFactor; + + vec3 clearcoatF0; + vec3 clearcoatF90; + float clearcoatFactor; + vec3 clearcoatNormal; + float clearcoatRoughness; + + // KHR_materials_specular + float specularWeight; // product of specularFactor and specularTexture.a + + float transmissionFactor; + + float thickness; + vec4 attenuation; // rgb - color, w - distance + + // KHR_materials_iridescence + float iridescenceFactor; + float iridescenceIor; + float iridescenceThickness; + + // KHR_materials_anisotropy + vec3 anisotropicT; + vec3 anisotropicB; + float anisotropyStrength; + + float ior; +}; + +const float M_PI = 3.141592653589793; + +vec4 SRGBtoLINEAR(vec4 srgbIn) { + vec3 linOut = pow(srgbIn.xyz,vec3(2.2)); + + return vec4(linOut, srgbIn.a); +} + +float clampedDot(vec3 x, vec3 y) { + return clamp(dot(x, y), 0.0, 1.0); +} + +// +// Fresnel +// +// http://graphicrants.blogspot.com/2013/08/specular-brdf-reference.html +// https://github.com/wdas/brdf/tree/master/src/brdfs +// https://google.github.io/filament/Filament.md.html +// + +// The following equation models the Fresnel reflectance term of the spec equation (aka F()) +// Implementation of fresnel from [4], Equation 15 +vec3 F_Schlick(vec3 f0, vec3 f90, float VdotH) { + return f0 + (f90 - f0) * pow(clamp(1.0 - VdotH, 0.0, 1.0), 5.0); +} + +float F_Schlick(float f0, float f90, float VdotH) { + float x = clamp(1.0 - VdotH, 0.0, 1.0); + float x2 = x * x; + float x5 = x * x2 * x2; + return f0 + (f90 - f0) * x5; +} + +float F_Schlick(float f0, float VdotH) { + float f90 = 1.0; //clamp(50.0 * f0, 0.0, 1.0); + return F_Schlick(f0, f90, VdotH); +} + +vec3 F_Schlick(vec3 f0, float f90, float VdotH) { + float x = clamp(1.0 - VdotH, 0.0, 1.0); + float x2 = x * x; + float x5 = x * x2 * x2; + return f0 + (f90 - f0) * x5; +} + +vec3 F_Schlick(vec3 f0, float VdotH) { + float f90 = 1.0; //clamp(dot(f0, vec3(50.0 * 0.33)), 0.0, 1.0); + return F_Schlick(f0, f90, VdotH); +} + +vec3 Schlick_to_F0(vec3 f, vec3 f90, float VdotH) { + float x = clamp(1.0 - VdotH, 0.0, 1.0); + float x2 = x * x; + float x5 = clamp(x * x2 * x2, 0.0, 0.9999); + + return (f - f90 * x5) / (1.0 - x5); +} + +float Schlick_to_F0(float f, float f90, float VdotH) { + float x = clamp(1.0 - VdotH, 0.0, 1.0); + float x2 = x * x; + float x5 = clamp(x * x2 * x2, 0.0, 0.9999); + + return (f - f90 * x5) / (1.0 - x5); +} + +vec3 Schlick_to_F0(vec3 f, float VdotH) { + return Schlick_to_F0(f, vec3(1.0), VdotH); +} + +float Schlick_to_F0(float f, float VdotH) { + return Schlick_to_F0(f, 1.0, VdotH); +} + +// Smith Joint GGX +// Note: Vis = G / (4 * NdotL * NdotV) +// see Eric Heitz. 2014. Understanding the Masking-Shadowing Function in Microfacet-Based BRDFs. Journal of Computer Graphics Techniques, 3 +// see Real-Time Rendering. Page 331 to 336. +// see https://google.github.io/filament/Filament.md.html#materialsystem/specularbrdf/geometricshadowing(specularg) +float V_GGX(float NdotL, float NdotV, float alphaRoughness) { + float alphaRoughnessSq = alphaRoughness * alphaRoughness; + + float GGXV = NdotL * sqrt(NdotV * NdotV * (1.0 - alphaRoughnessSq) + alphaRoughnessSq); + float GGXL = NdotV * sqrt(NdotL * NdotL * (1.0 - alphaRoughnessSq) + alphaRoughnessSq); + + float GGX = GGXV + GGXL; + + return GGX > 0.0 ? 0.5 / GGX : 0.0; +} + + +// The following equation(s) model the distribution of microfacet normals across the area being drawn (aka D()) +// Implementation from "Average Irregularity Representation of a Roughened Surface for Ray Reflection" by T. S. Trowbridge, and K. P. Reitz +// Follows the distribution function recommended in the SIGGRAPH 2013 course notes from EPIC Games [1], Equation 3. +float D_GGX(float NdotH, float alphaRoughness) { + float alphaRoughnessSq = alphaRoughness * alphaRoughness; + float f = (NdotH * NdotH) * (alphaRoughnessSq - 1.0) + 1.0; + return alphaRoughnessSq / (M_PI * f * f); +} + +// specularWeight is introduced with KHR_materials_specular +vec3 getIBLRadianceLambertian(float NdotV, vec3 n, float roughness, vec3 diffuseColor, vec3 F0, float specularWeight, EnvironmentMapDataGPU envMap) { + vec2 brdfSamplePoint = clamp(vec2(NdotV, roughness), vec2(0.0, 0.0), vec2(1.0, 1.0)); + + vec2 f_ab = sampleBRDF_LUT(brdfSamplePoint, envMap).rg; + + vec3 irradiance = sampleEnvMapIrradiance(n.xyz, envMap).rgb; + + // see https://bruop.github.io/ibl/#single_scattering_results at Single Scattering Results + // Roughness dependent fresnel, from Fdez-Aguera + + vec3 Fr = max(vec3(1.0 - roughness), F0) - F0; + vec3 k_S = F0 + Fr * pow(1.0 - NdotV, 5.0); + vec3 FssEss = specularWeight * k_S * f_ab.x + f_ab.y; // <--- GGX / specular light contribution (scale it down if the specularWeight is low) + + // Multiple scattering, from Fdez-Aguera + float Ems = (1.0 - (f_ab.x + f_ab.y)); + vec3 F_avg = specularWeight * (F0 + (1.0 - F0) / 21.0); + vec3 FmsEms = Ems * FssEss * F_avg / (1.0 - F_avg * Ems); + vec3 k_D = diffuseColor * (1.0 - FssEss + FmsEms); // we use +FmsEms as indicated by the formula in the blog post (might be a typo in the implementation) + + return (FmsEms + k_D) * irradiance; +} + +//https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#acknowledgments AppendixB +vec3 getBRDFLambertian(vec3 f0, vec3 f90, vec3 diffuseColor, float specularWeight, float VdotH) { + // see https://seblagarde.wordpress.com/2012/01/08/pi-or-not-to-pi-in-game-lighting-equation/ + return (1.0 - specularWeight * F_Schlick(f0, f90, VdotH)) * (diffuseColor / M_PI); +} + +// https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#acknowledgments AppendixB +vec3 getBRDFSpecularGGX(vec3 f0, vec3 f90, float alphaRoughness, float specularWeight, float VdotH, float NdotL, float NdotV, float NdotH) { + vec3 F = F_Schlick(f0, f90, VdotH); + float Vis = V_GGX(NdotL, NdotV, alphaRoughness); + float D = D_GGX(NdotH, alphaRoughness); + + return specularWeight * F * Vis * D; +} + +vec3 getIBLRadianceGGX(vec3 n, vec3 v, float roughness, vec3 F0, float specularWeight, EnvironmentMapDataGPU envMap ) { + float NdotV = clampedDot(n, v); + + float mipCount = float(sampleEnvMapQueryLevels(envMap)); + float lod = roughness * float(mipCount - 1); + vec3 reflection = normalize(reflect(-v, n)); + + vec2 brdfSamplePoint = clamp(vec2(NdotV, roughness), vec2(0.0, 0.0), vec2(1.0, 1.0)); + vec3 f_ab = sampleBRDF_LUT(brdfSamplePoint, envMap).rgb; + vec3 specularLight = sampleEnvMapLod(reflection.xyz, lod, envMap).rgb; + + // see https://bruop.github.io/ibl/#single_scattering_results at Single Scattering Results + // Roughness dependent fresnel, from Fdez-Aguera + vec3 Fr = max(vec3(1.0 - roughness), F0) - F0; + vec3 k_S = F0 + Fr * pow(1.0 - NdotV, 5.0); + vec3 FssEss = k_S * f_ab.x + f_ab.y; + + return specularWeight * specularLight * FssEss; +} + +// Calculation of the lighting contribution from an optional Image Based Light source. +// Precomputed Environment Maps are required uniform inputs and are computed as outlined in [1]. +// See our README.md on Environment Maps [3] for additional discussion. +vec3 getIBLRadianceContributionGGX(PBRInfo pbrInputs, float specularWeight, EnvironmentMapDataGPU envMap) { + vec3 n = pbrInputs.n; + vec3 v = pbrInputs.v; + vec3 reflection = normalize(reflect(-v, n)); + float mipCount = float(sampleEnvMapQueryLevels(envMap)); + float lod = pbrInputs.perceptualRoughness * (mipCount - 1); + + // retrieve a scale and bias to F0. See [1], Figure 3 + vec2 brdfSamplePoint = clamp(vec2(pbrInputs.NdotV, pbrInputs.perceptualRoughness), vec2(0.0, 0.0), vec2(1.0, 1.0)); + vec3 brdf = sampleBRDF_LUT(brdfSamplePoint, envMap).rgb; + // HDR envmaps are already linear + vec3 specularLight = sampleEnvMapLod(reflection.xyz, lod, envMap).rgb; + + // see https://bruop.github.io/ibl/#single_scattering_results at Single Scattering Results + // Roughness dependent fresnel, from Fdez-Aguera + vec3 Fr = max(vec3(1.0 - pbrInputs.perceptualRoughness), pbrInputs.reflectance0) - pbrInputs.reflectance0; + vec3 k_S = pbrInputs.reflectance0 + Fr * pow(1.0 - pbrInputs.NdotV, 5.0); + vec3 FssEss = k_S * brdf.x + brdf.y; + + return specularWeight * specularLight * FssEss; +} + + +// Disney Implementation of diffuse from Physically-Based Shading at Disney by Brent Burley. See Section 5.3. +// http://blog.selfshadow.com/publications/s2012-shading-course/burley/s2012_pbs_disney_brdf_notes_v3.pdf +vec3 diffuseBurley(PBRInfo pbrInputs) { + float f90 = 2.0 * pbrInputs.LdotH * pbrInputs.LdotH * pbrInputs.alphaRoughness - 0.5; + + return (pbrInputs.diffuseColor / M_PI) * (1.0 + f90 * pow((1.0 - pbrInputs.NdotL), 5.0)) * (1.0 + f90 * pow((1.0 - pbrInputs.NdotV), 5.0)); +} + +// The following equation models the Fresnel reflectance term of the spec equation (aka F()) +// Implementation of fresnel from [4], Equation 15 +vec3 specularReflection(PBRInfo pbrInputs) { + return pbrInputs.reflectance0 + (pbrInputs.reflectance90 - pbrInputs.reflectance0) * pow(clamp(1.0 - pbrInputs.VdotH, 0.0, 1.0), 5.0); +} + +// This calculates the specular geometric attenuation (aka G()), +// where rougher material will reflect less light back to the viewer. +// This implementation is based on [1] Equation 4, and we adopt their modifications to +// alphaRoughness as input as originally proposed in [2]. +float geometricOcclusion(PBRInfo pbrInputs) { + float NdotL = pbrInputs.NdotL; + float NdotV = pbrInputs.NdotV; + float rSqr = pbrInputs.alphaRoughness * pbrInputs.alphaRoughness; + + float attenuationL = 2.0 * NdotL / (NdotL + sqrt(rSqr + (1.0 - rSqr) * (NdotL * NdotL))); + float attenuationV = 2.0 * NdotV / (NdotV + sqrt(rSqr + (1.0 - rSqr) * (NdotV * NdotV))); + return attenuationL * attenuationV; +} + +// The following equation(s) model the distribution of microfacet normals across the area being drawn (aka D()) +// Implementation from "Average Irregularity Representation of a Roughened Surface for Ray Reflection" by T. S. Trowbridge, and K. P. Reitz +// Follows the distribution function recommended in the SIGGRAPH 2013 course notes from EPIC Games [1], Equation 3. +float microfacetDistribution(PBRInfo pbrInputs) { + float roughnessSq = pbrInputs.alphaRoughness * pbrInputs.alphaRoughness; + float f = (pbrInputs.NdotH * roughnessSq - pbrInputs.NdotH) * pbrInputs.NdotH + 1.0; + return roughnessSq / (M_PI * f * f); +} + +vec3 getIBLRadianceCharlie(PBRInfo pbrInputs, EnvironmentMapDataGPU envMap) { + float sheenRoughness = pbrInputs.sheenRoughnessFactor; + vec3 sheenColor = pbrInputs.sheenColorFactor; + float mipCount = float(sampleEnvMapQueryLevels(envMap)); + float lod = sheenRoughness * float(mipCount - 1); + vec3 reflection = normalize(reflect(-pbrInputs.v, pbrInputs.n)); + + vec2 brdfSamplePoint = clamp(vec2(pbrInputs.NdotV, sheenRoughness), vec2(0.0, 0.0), vec2(1.0, 1.0)); + float brdf = sampleBRDF_LUT(brdfSamplePoint, envMap).b; + vec3 sheenSample = sampleCharlieEnvMapLod(reflection.xyz, lod, envMap).rgb; + + return sheenSample * sheenColor * brdf; +} + +PBRInfo calculatePBRInputsMetallicRoughness(InputAttributes tc, vec4 albedo, vec4 mrSample, MetallicRoughnessDataGPU mat) { + PBRInfo pbrInputs; + + bool isSpecularGlossiness = (getMaterialType(mat) & 2) != 0; + bool isSpecular = (getMaterialType(mat) & 0x10) != 0; + + pbrInputs.ior = getIOR(mat); + vec3 f0 = isSpecularGlossiness ? getSpecularFactor(mat) * mrSample.rgb : vec3(pow((pbrInputs.ior - 1)/(pbrInputs.ior + 1), 2)); + + float metallic = getMetallicFactor(mat); + metallic = mrSample.b * metallic; + metallic = clamp(metallic, 0.0, 1.0); + + pbrInputs.baseColor = albedo; + pbrInputs.metallic = metallic; + pbrInputs.specularWeight = 1.0; + + if (isSpecular) { + vec3 dielectricSpecularF0 = min(f0 * getSpecularColorFactor(tc, mat), vec3(1.0)); + f0 = mix(dielectricSpecularF0, pbrInputs.baseColor.rgb, metallic); + pbrInputs.specularWeight = getSpecularFactor(tc, mat);//u_KHR_materials_specular_specularFactor * specularTexture.a; + //pbrInputs.diffuseColor = mix(pbrInputs.baseColor.rgb, vec3(0), metallic); + } + + float perceptualRoughness = isSpecularGlossiness ? getGlossinessFactor(mat): getRoughnessFactor(mat); + + const float c_MinRoughness = 0.04; + + // Metallic roughness: + // Roughness is stored in the 'g' channel, metallic is stored in the 'b' channel. + // This layout intentionally reserves the 'r' channel for (optional) occlusion map data + // Specular Glossiness: + // Glossiness is stored in alpha channel + perceptualRoughness = isSpecularGlossiness ? 1.0 - mrSample.a * perceptualRoughness : clamp(mrSample.g * perceptualRoughness, c_MinRoughness, 1.0); + + // Roughness is authored as perceptual roughness; as is convention, + // convert to material roughness by squaring the perceptual roughness [2]. + float alphaRoughness = perceptualRoughness * perceptualRoughness; + + vec3 diffuseColor = isSpecularGlossiness ? pbrInputs.baseColor.rgb * (1.0 - max(max(f0.r, f0.g), f0.b)) : mix(pbrInputs.baseColor.rgb, vec3(0), metallic); + vec3 specularColor = isSpecularGlossiness ? f0 : mix(f0, pbrInputs.baseColor.rgb, metallic); + + // Compute reflectance. + float reflectance = max(max(specularColor.r, specularColor.g), specularColor.b); + + // For typical incident reflectance range (between 4% to 100%) set the grazing reflectance to 100% for typical fresnel effect. + // For very low reflectance range on highly diffuse objects (below 4%), incrementally reduce grazing reflecance to 0%. + float reflectance90 = clamp(reflectance * 25.0, 0.0, 1.0); + vec3 specularEnvironmentR0 = specularColor.rgb; + vec3 specularEnvironmentR90 = vec3(1.0, 1.0, 1.0) * reflectance90; + + pbrInputs.alphaRoughness = alphaRoughness; + + pbrInputs.perceptualRoughness = perceptualRoughness; + pbrInputs.reflectance0 = specularEnvironmentR0; + pbrInputs.reflectance90 = specularEnvironmentR90; + + pbrInputs.diffuseColor = diffuseColor; + pbrInputs.specularColor = specularColor; + + return pbrInputs; +} + +vec3 calculatePBRLightContribution( inout PBRInfo pbrInputs, vec3 lightDirection, vec3 lightColor ) { + vec3 n = pbrInputs.n; + vec3 v = pbrInputs.v; + vec3 l = normalize(lightDirection); // Vector from surface point to light + vec3 h = normalize(l+v); // Half vector between both l and v + + float NdotV = pbrInputs.NdotV; + float NdotL = clamp(dot(n, l), 0.001, 1.0); + float NdotH = clamp(dot(n, h), 0.0, 1.0); + float LdotH = clamp(dot(l, h), 0.0, 1.0); + float VdotH = clamp(dot(v, h), 0.0, 1.0); + + vec3 color = vec3(0); + + if (NdotL > 0.0 || NdotV > 0.0) { + pbrInputs.NdotL = NdotL; + pbrInputs.NdotH = NdotH; + pbrInputs.LdotH = LdotH; + pbrInputs.VdotH = VdotH; + + // Calculate the shading terms for the microfacet specular shading model + vec3 F = specularReflection(pbrInputs); + float G = geometricOcclusion(pbrInputs); + float D = microfacetDistribution(pbrInputs); + + // Calculation of analytical lighting contribution + vec3 diffuseContrib = (1.0 - F) * diffuseBurley(pbrInputs); + vec3 specContrib = F * G * D / (4.0 * NdotL * NdotV); + // Obtain final intensity as reflectance (BRDF) scaled by the energy of the light (cosine law) + color = NdotL * lightColor * (diffuseContrib + specContrib); + } + return color; +} + +// http://www.thetenthplanet.de/archives/1180 +// modified to fix handedness of the resulting cotangent frame +mat3 cotangentFrame( vec3 N, vec3 p, vec2 uv, inout PBRInfo pbrInputs ) { + // get edge vectors of the pixel triangle + vec3 dp1 = dFdx( p ); + vec3 dp2 = dFdy( p ); + vec2 duv1 = dFdx( uv ); + vec2 duv2 = dFdy( uv ); + + if (length(duv1) <= 1e-2) { + duv1 = vec2(1.0, 0.0); + } + + if (length(duv2) <= 1e-2) { + duv2 = vec2(0.0, 1.0); + } + + // solve the linear system + vec3 dp2perp = cross( dp2, N ); + vec3 dp1perp = cross( N, dp1 ); + vec3 T = dp2perp * duv1.x + dp1perp * duv2.x; + vec3 B = dp2perp * duv1.y + dp1perp * duv2.y; + + // construct a scale-invariant frame + float invmax = inversesqrt( max( dot(T,T), dot(B,B) ) ); + + // calculate handedness of the resulting cotangent frame + float w = dot(cross(N, T), B) < 0.0 ? -1.0 : 1.0; + + // adjust tangent if needed + T = T * w; + + if (gl_FrontFacing == false) { + N *= -1.0f; + T *= -1.0f; + B *= -1.0f; + } + + pbrInputs.t = T * invmax; + pbrInputs.b = B * invmax; + pbrInputs.ng = N; + + return mat3( pbrInputs.t, pbrInputs.b, N ); +} + +void perturbNormal(vec3 n, vec3 v, vec3 normalSample, vec2 uv, inout PBRInfo pbrInputs) { + vec3 map = normalize( 2.0 * normalSample - vec3(1.0) ); + mat3 TBN = cotangentFrame(n, v, uv, pbrInputs); + + pbrInputs.n = normalize(TBN * map); +} + +// Check normals - model has tangents and a normal map! + +vec3 getVolumeTransmissionRay(vec3 n, vec3 v, float thickness, float ior, mat4 modelMatrix) { + // direction of refracted light + vec3 refractionVector = refract(-v, n, 1.0 / ior); + + // compute rotation-independent scaling of the model matrix + vec3 modelScale = vec3(length(modelMatrix[0].xyz), + length(modelMatrix[1].xyz), + length(modelMatrix[2].xyz)); + + // the thickness is specified in local space + return normalize(refractionVector) * thickness * modelScale.xyz; +} + +vec3 applyVolumeAttenuation(vec3 radiance, float transmissionDistance, vec3 attenuationColor, float attenuationDistance) { + if (attenuationDistance == 0.0) { + // Attenuation distance is +∞ (which we indicate by zero), i.e. the transmitted color is not attenuated at all. + return radiance; + } + + // Compute light attenuation using Beer's law. + vec3 attenuationCoefficient = -log(attenuationColor) / attenuationDistance; + vec3 transmittance = exp(-attenuationCoefficient * transmissionDistance); // Beer's law + return transmittance * radiance; +} + +float applyIorToRoughness(float roughness, float ior) { + // Scale roughness with IOR so that an IOR of 1.0 results in no microfacet refraction and + // an IOR of 1.5 results in the default amount of microfacet refraction. + return roughness * clamp(ior * 2.0 - 2.0, 0.0, 1.0); +} + + +vec3 getTransmissionSample(vec2 fragCoord, float roughness, float ior) { + const ivec2 size = textureBindlessSize2D(perFrame.transmissionFramebuffer); + const vec2 uv = fragCoord; + float framebufferLod = log2(float(size.x)) * applyIorToRoughness(roughness, ior); + vec3 transmittedLight = textureBindless2DLod(perFrame.transmissionFramebuffer, perFrame.transmissionFramebufferSampler, uv, framebufferLod).rgb; +// DEBUG: +// return vec3(uv, 0.0); + return transmittedLight; +} + +vec3 getIBLVolumeRefraction(vec3 n, vec3 v, float perceptualRoughness, vec3 baseColor, vec3 f0, vec3 f90, + vec3 position, mat4 modelMatrix, mat4 viewProjMatrix, float ior, float thickness, vec3 attenuationColor, float attenuationDistance) +{ + vec3 transmissionRay = getVolumeTransmissionRay(n, v, thickness, ior, modelMatrix); + vec3 refractedRayExit = position + transmissionRay; + + // Project refracted vector on the framebuffer, while mapping to normalized device coordinates. + vec4 ndcPos = viewProjMatrix * vec4(refractedRayExit, 1.0); + vec2 refractionCoords = ndcPos.xy / ndcPos.w; + refractionCoords += 1.0; + refractionCoords /= 2.0; + refractionCoords.y = 1.0- refractionCoords.y; + + // Sample framebuffer to get pixel the refracted ray hits. + vec3 transmittedLight = getTransmissionSample(refractionCoords, perceptualRoughness, ior); + + vec3 attenuatedColor = applyVolumeAttenuation(transmittedLight, length(transmissionRay), attenuationColor, attenuationDistance); + + // Sample GGX LUT to get the specular component. + float NdotV = clampedDot(n, v); + vec2 brdfSamplePoint = clamp(vec2(NdotV, perceptualRoughness), vec2(0.0, 0.0), vec2(1.0, 1.0)); + vec2 brdf = sampleBRDF_LUT(brdfSamplePoint, getEnvironmentMap(getEnvironmentId())).rg; + vec3 specularColor = f0 * brdf.x + f90 * brdf.y; + + return (1.0 - specularColor) * attenuatedColor * baseColor; +} + +// https://github.com/KhronosGroup/glTF/blob/master/extensions/2.0/Khronos/KHR_lights_punctual/README.md#range-property +float getRangeAttenuation(float range, float distance) { + if (range <= 0.0) { + // negative range means unlimited + return 1.0 / pow(distance, 2.0); + } + return max(min(1.0 - pow(distance / range, 4.0), 1.0), 0.0) / pow(distance, 2.0); +} + +// https://github.com/KhronosGroup/glTF/blob/master/extensions/2.0/Khronos/KHR_lights_punctual/README.md#inner-and-outer-cone-angles +float getSpotAttenuation(vec3 pointToLight, vec3 spotDirection, float outerConeCos, float innerConeCos) { + float actualCos = dot(normalize(spotDirection), normalize(-pointToLight)); + + if (actualCos > outerConeCos) { + if (actualCos < innerConeCos) { + return smoothstep(outerConeCos, innerConeCos, actualCos); + } + return 1.0; + } + return 0.0; +} + +vec3 getLightIntensity(Light light, vec3 pointToLight) { + float rangeAttenuation = 1.0; + float spotAttenuation = 1.0; + + if (light.type != LightType_Directional) { + rangeAttenuation = getRangeAttenuation(light.range, length(pointToLight)); + } + if (light.type == LightType_Spot) { + spotAttenuation = getSpotAttenuation(pointToLight, light.direction, light.outerConeCos, light.innerConeCos); + } + + return rangeAttenuation * spotAttenuation * light.intensity * light.color; +} + +// Estevez and Kulla http://www.aconty.com/pdf/s2017_pbs_imageworks_sheen.pdf +float D_Charlie(float sheenRoughness, float NdotH) { + sheenRoughness = max(sheenRoughness, 0.000001); //clamp (0,1] + float alphaG = sheenRoughness * sheenRoughness; + float invR = 1.0 / alphaG; + float cos2h = NdotH * NdotH; + float sin2h = 1.0 - cos2h; + return (2.0 + invR) * pow(sin2h, invR * 0.5) / (2.0 * M_PI); +} + +float lambdaSheenNumericHelper(float x, float alphaG) { + float oneMinusAlphaSq = (1.0 - alphaG) * (1.0 - alphaG); + float a = mix(21.5473, 25.3245, oneMinusAlphaSq); + float b = mix(3.82987, 3.32435, oneMinusAlphaSq); + float c = mix(0.19823, 0.16801, oneMinusAlphaSq); + float d = mix(-1.97760, -1.27393, oneMinusAlphaSq); + float e = mix(-4.32054, -4.85967, oneMinusAlphaSq); + return a / (1.0 + b * pow(x, c)) + d * x + e; +} + +float lambdaSheen(float cosTheta, float alphaG) { + if (abs(cosTheta) < 0.5) { + return exp(lambdaSheenNumericHelper(cosTheta, alphaG)); + } + + return exp(2.0 * lambdaSheenNumericHelper(0.5, alphaG) - lambdaSheenNumericHelper(1.0 - cosTheta, alphaG)); +} + +float V_Sheen(float NdotL, float NdotV, float sheenRoughness) { + sheenRoughness = max(sheenRoughness, 0.000001); //clamp (0,1] + float alphaG = sheenRoughness * sheenRoughness; + + return clamp(1.0 / ((1.0 + lambdaSheen(NdotV, alphaG) + lambdaSheen(NdotL, alphaG)) * (4.0 * NdotV * NdotL)), 0.0, 1.0); +} + +// f_sheen +vec3 getBRDFSpecularSheen(vec3 sheenColor, float sheenRoughness, float NdotL, float NdotV, float NdotH) { + float sheenDistribution = D_Charlie(sheenRoughness, NdotH); + float sheenVisibility = V_Sheen(NdotL, NdotV, sheenRoughness); + return sheenColor * sheenDistribution * sheenVisibility; +} + +vec3 getPunctualRadianceSheen(vec3 sheenColor, float sheenRoughness, float NdotL, float NdotV, float NdotH) { + return NdotL * getBRDFSpecularSheen(sheenColor, sheenRoughness, NdotL, NdotV, NdotH); +} + +// https://github.com/DassaultSystemes-Technology/dspbr-pt/blob/e7cfa6e9aab2b99065a90694e1f58564d675c1a4/packages/lib/shader/bsdfs/sheen.glsl#L16C1-L20C2 +float albedoSheenScalingFactor(float NdotV, float sheenRoughnessFactor) { + float c = 1.0 - NdotV; + float c3 = c * c * c; + return 0.65584461 * c3 + 1.0 / (4.16526551 + exp(-7.97291361 * sqrt(sheenRoughnessFactor) + 6.33516894)); +} + +float max3(vec3 v) { + return max(max(v.x, v.y), v.z); +} + +vec3 getPunctualRadianceClearCoat(vec3 clearcoatNormal, vec3 v, vec3 l, vec3 h, float VdotH, vec3 f0, vec3 f90, float clearcoatRoughness) { + float NdotL = clampedDot(clearcoatNormal, l); + float NdotV = clampedDot(clearcoatNormal, v); + float NdotH = clampedDot(clearcoatNormal, h); + return NdotL * getBRDFSpecularGGX(f0, f90, clearcoatRoughness * clearcoatRoughness, 1.0, VdotH, NdotL, NdotV, NdotH); +} + +vec3 getPunctualRadianceTransmission(vec3 normal, vec3 view, vec3 pointToLight, float alphaRoughness, vec3 f0, vec3 f90, vec3 baseColor, float ior) { + float transmissionRougness = applyIorToRoughness(alphaRoughness, ior); + + vec3 n = normalize(normal); // Outward direction of surface point + vec3 v = normalize(view); // Direction from surface point to view + vec3 l = normalize(pointToLight); + vec3 l_mirror = normalize(l + 2.0*n*dot(-l, n)); // Mirror light reflection vector on surface + vec3 h = normalize(l_mirror + v); // Halfway vector between transmission light vector and v + + float D = D_GGX(clamp(dot(n, h), 0.0, 1.0), transmissionRougness); + vec3 F = F_Schlick(f0, f90, clamp(dot(v, h), 0.0, 1.0)); + float Vis = V_GGX(clamp(dot(n, l_mirror), 0.0, 1.0), clamp(dot(n, v), 0.0, 1.0), transmissionRougness); + + // Transmission BTDF + return (1.0 - F) * baseColor * D * Vis; +} diff --git a/data/shaders/gltf/animation.comp b/data/shaders/gltf/animation.comp new file mode 100644 index 0000000..8a0fa2a --- /dev/null +++ b/data/shaders/gltf/animation.comp @@ -0,0 +1,116 @@ +// + +#version 460 +#extension GL_EXT_buffer_reference : require +#extension GL_EXT_scalar_block_layout : require + +layout (local_size_x = 16, local_size_y = 1, local_size_z = 1) in; + +struct TransformsBuffer { + uint mtxId; + uint matId; + uint nodeRef; // for CPU only + uint meshRef; // for CPU only + uint opaque; // for CPU only +}; + +struct VertexSkinningData { + vec4 pos; + vec4 norm; + uint bones[8]; + float weights[8]; + uint meshId; +}; + +struct VertexData { + vec3 pos; + vec3 norm; + vec4 color; + vec4 uv; + float padding[2]; +}; + +#define MAX_WEIGHTS 8 + +struct MorphState { + uint meshId; + uint morphTarget[MAX_WEIGHTS]; + float weights[MAX_WEIGHTS]; +}; + +layout(std430, buffer_reference) readonly buffer Matrices { + mat4 matrix[]; +}; + +layout(scalar, buffer_reference) readonly buffer MorphStates { + MorphState morphStates[]; +}; + +layout (scalar, buffer_reference) readonly buffer VertexSkinningBuffer { + VertexSkinningData vertices[]; +}; + +layout (scalar, buffer_reference) writeonly buffer VertexBuffer { + VertexData vertices[]; +}; + +layout (scalar, buffer_reference) readonly buffer MorphVertexBuffer { + VertexData vertices[]; +}; + +layout(push_constant) uniform PerFrameData { + Matrices matrices; + MorphStates morphStates; + MorphVertexBuffer morphTargets; + VertexSkinningBuffer inBufferId; + VertexBuffer outBufferId; + uint numMorphStates; +} pc; + +void main() +{ + // our vertex buffers are always padded to a 16-vertex boundary + + uint index = gl_GlobalInvocationID.x; + + VertexSkinningData inVtx = pc.inBufferId.vertices[index]; + vec4 inPos = vec4(inVtx.pos.xyz, 1.0); + vec4 inNorm = vec4(inVtx.norm.xyz, 0.0); + + // morphing + if (inVtx.meshId < pc.numMorphStates) { + MorphState ms = pc.morphStates.morphStates[inVtx.meshId]; + if (ms.meshId != ~0) { + for (int m = 0; m != MAX_WEIGHTS; m++) { + if (ms.weights[m] > 0) { + VertexData mVtx = pc.morphTargets.vertices[ms.morphTarget[m] + index]; + inPos.xyz += mVtx.pos * ms.weights[m]; + inNorm.xyz += mVtx.norm * ms.weights[m]; + } + } + } + } + + vec4 pos = vec4(0); + vec4 norm = vec4(0); + + int i = 0; + + // skinning + for (; i != MAX_WEIGHTS; i++) { + if (inVtx.bones[i] == ~0) + break; + + mat4 boneMat = pc.matrices.matrix[inVtx.bones[i]]; + pos += boneMat * inPos * inVtx.weights[i]; + norm += transpose(inverse(boneMat)) * inNorm * inVtx.weights[i]; + } + + if (i == 0) { + pos.xyz = inPos.xyz; + norm.xyz = inNorm.xyz; + } + + pc.outBufferId.vertices[index].pos = pos.xyz; + pc.outBufferId.vertices[index].norm = normalize(norm.xyz); +} diff --git a/data/shaders/gltf/common.sp b/data/shaders/gltf/common.sp new file mode 100644 index 0000000..fad636c --- /dev/null +++ b/data/shaders/gltf/common.sp @@ -0,0 +1,51 @@ +// + +// gl_BaseInstance - transformId + +layout(std430, buffer_reference) buffer Materials; +layout(std430, buffer_reference) buffer Environments; +layout(std430, buffer_reference) buffer Lights; + +layout(std430, buffer_reference) buffer PerDrawData { + mat4 model; + mat4 view; + mat4 proj; + vec4 cameraPos; +}; + +struct TransformsBuffer { + uint mtxId; + uint matId; + uint nodeRef; // for CPU only + uint meshRef; // for CPU only + uint opaque; // for CPU only +}; + +layout(std430, buffer_reference) readonly buffer Transforms { + TransformsBuffer transforms[]; +}; + +layout(std430, buffer_reference) readonly buffer Matrices { + mat4 matrix[]; +}; + +layout(push_constant) uniform PerFrameData { + PerDrawData drawable; + Materials materials; + Environments environments; + Lights lights; + Transforms transforms; + Matrices matrices; + uint envId; + uint transmissionFramebuffer; + uint transmissionFramebufferSampler; + uint lightsCount; +} perFrame; + +uint getEnvironmentId() { + return perFrame.envId; +} + +mat4 getViewProjection() { + return perFrame.drawable.proj * perFrame.drawable.view; +} diff --git a/data/shaders/gltf/common_material.sp b/data/shaders/gltf/common_material.sp new file mode 100644 index 0000000..b68488f --- /dev/null +++ b/data/shaders/gltf/common_material.sp @@ -0,0 +1,67 @@ +// + +struct MetallicRoughnessDataGPU { + vec4 baseColorFactor; + vec4 metallicRoughnessNormalOcclusion; // Packed metallicFactor, roughnessFactor, normalScale, occlusionStrength + vec4 specularGlossiness; // Packed specularFactor.xyz, glossiness + vec4 sheenFactors; + vec4 clearcoatTransmissionThickness; + vec4 specularFactors; + vec4 attenuation; + vec4 emissiveFactorAlphaCutoff; // vec3 emissiveFactor + float AlphaCutoff + uint occlusionTexture; + uint occlusionTextureSampler; + uint occlusionTextureUV; + uint emissiveTexture; + uint emissiveTextureSampler; + uint emissiveTextureUV; + uint baseColorTexture; + uint baseColorTextureSampler; + uint baseColorTextureUV; + uint metallicRoughnessTexture; + uint metallicRoughnessTextureSampler; + uint metallicRoughnessTextureUV; + uint normalTexture; + uint normalTextureSampler; + uint normalTextureUV; + uint sheenColorTexture; + uint sheenColorTextureSampler; + uint sheenColorTextureUV; + uint sheenRoughnessTexture; + uint sheenRoughnessTextureSampler; + uint sheenRoughnessTextureUV; + uint clearCoatTexture; + uint clearCoatTextureSampler; + uint clearCoatTextureUV; + uint clearCoatRoughnessTexture; + uint clearCoatRoughnessTextureSampler; + uint clearCoatRoughnessTextureUV; + uint clearCoatNormalTexture; + uint clearCoatNormalTextureSampler; + uint clearCoatNormalTextureUV; + uint specularTexture; + uint specularTextureSampler; + uint specularTextureUV; + uint specularColorTexture; + uint specularColorTextureSampler; + uint specularColorTextureUV; + uint transmissionTexture; + uint transmissionTextureSampler; + uint transmissionTextureUV; + uint thicknessTexture; + uint thicknessTextureSampler; + uint thicknessTextureUV; + uint iridescenceTexture; + uint iridescenceTextureSampler; + uint iridescenceTextureUV; + uint iridescenceThicknessTexture; + uint iridescenceThicknessTextureSampler; + uint iridescenceThicknessTextureUV; + uint anisotropyTexture; + uint anisotropyTextureSampler; + uint anisotropyTextureUV; + uint alphaMode; + uint materialType; + float ior; + uint padding[2]; +}; diff --git a/data/shaders/gltf/inputs.frag b/data/shaders/gltf/inputs.frag new file mode 100644 index 0000000..5ba333d --- /dev/null +++ b/data/shaders/gltf/inputs.frag @@ -0,0 +1,229 @@ +#include +#include + +const int kMaxAttributes = 2; + +struct InputAttributes { + vec2 uv[kMaxAttributes]; +}; + +struct Light { + vec3 direction; + float range; + + vec3 color; + float intensity; + + vec3 position; + float innerConeCos; + + float outerConeCos; + int type; + int padding[2]; +}; + +const int LightType_Directional = 0; +const int LightType_Point = 1; +const int LightType_Spot = 2; + +struct EnvironmentMapDataGPU { + uint envMapTexture; + uint envMapTextureSampler; + uint envMapTextureIrradiance; + uint envMapTextureIrradianceSampler; + uint texBRDFLUT; + uint texBRDFLUTSampler; + uint envMapTextureCharlie; + uint envMapTextureCharlieSampler; +}; + +layout(std430, buffer_reference) readonly buffer Materials { + MetallicRoughnessDataGPU material[]; +}; + +layout(std430, buffer_reference) readonly buffer Environments { + EnvironmentMapDataGPU environment[]; +}; + +layout(std430, buffer_reference) readonly buffer Lights { + Light lights[]; +}; + +MetallicRoughnessDataGPU getMaterial(uint idx) { + return perFrame.materials.material[idx]; +} + +EnvironmentMapDataGPU getEnvironmentMap(uint idx) { + return perFrame.environments.environment[idx]; +} + +float getMetallicFactor(MetallicRoughnessDataGPU mat) { + return mat.metallicRoughnessNormalOcclusion.x; +} + +float getRoughnessFactor(MetallicRoughnessDataGPU mat) { + return mat.metallicRoughnessNormalOcclusion.y; +} + +float getNormalScale(MetallicRoughnessDataGPU mat) { + return mat.metallicRoughnessNormalOcclusion.z; +} + +float getOcclusionFactor(MetallicRoughnessDataGPU mat) { + return mat.metallicRoughnessNormalOcclusion.w; +} + +uint getMaterialType(MetallicRoughnessDataGPU mat) { + return mat.materialType; +} + +vec3 getSpecularFactor(MetallicRoughnessDataGPU mat) { + return mat.specularGlossiness.xyz; +} + +float getGlossinessFactor(MetallicRoughnessDataGPU mat) { + return mat.specularGlossiness.w; +} + +vec4 getEmissiveFactorAlphaCutoff(MetallicRoughnessDataGPU mat) { + return mat.emissiveFactorAlphaCutoff; +} + +vec4 getSheenColorFactor(InputAttributes tc, MetallicRoughnessDataGPU mat) { + return textureBindless2D(mat.sheenColorTexture, mat.sheenColorTextureSampler, tc.uv[mat.sheenColorTextureUV]) * vec4(mat.sheenFactors.xyz, 1.0f); +} + +float getSheenRoughnessFactor(InputAttributes tc, MetallicRoughnessDataGPU mat) { + return textureBindless2D(mat.sheenRoughnessTexture, mat.sheenRoughnessTextureSampler, tc.uv[mat.sheenRoughnessTextureUV]).a * mat.sheenFactors.a; +} + +float getClearcoatFactor(InputAttributes tc, MetallicRoughnessDataGPU mat) { + return textureBindless2D(mat.clearCoatTexture, mat.clearCoatTextureSampler, tc.uv[mat.clearCoatTextureUV]).r * mat.clearcoatTransmissionThickness.x; +} + +float getClearcoatRoughnessFactor(InputAttributes tc, MetallicRoughnessDataGPU mat) { + return textureBindless2D(mat.clearCoatRoughnessTexture, mat.clearCoatRoughnessTextureSampler, tc.uv[mat.clearCoatRoughnessTextureUV]).g * mat.clearcoatTransmissionThickness.y; +} + +float getTransmissionFactor(InputAttributes tc, MetallicRoughnessDataGPU mat) { + return textureBindless2D(mat.transmissionTexture, mat.transmissionTextureSampler, tc.uv[mat.transmissionTextureUV]).r * mat.clearcoatTransmissionThickness.z; +} + +float getVolumeTickness(InputAttributes tc, MetallicRoughnessDataGPU mat) { + return textureBindless2D(mat.thicknessTexture, mat.thicknessTextureSampler, tc.uv[mat.thicknessTextureUV]).g * mat.clearcoatTransmissionThickness.w; +} + +vec4 getVolumeAttenuation(MetallicRoughnessDataGPU mat) { + return mat.attenuation; +} + +float getIOR(MetallicRoughnessDataGPU mat) { + return mat.ior; +} + +vec3 getSpecularColorFactor(InputAttributes tc, MetallicRoughnessDataGPU mat) { + return textureBindless2D(mat.specularColorTexture, mat.specularColorTextureSampler, tc.uv[mat.specularColorTextureUV]).rgb * mat.specularFactors.rgb; +} + +float getSpecularFactor(InputAttributes tc, MetallicRoughnessDataGPU mat) { + return textureBindless2D(mat.specularTexture, mat.specularTextureSampler, tc.uv[mat.specularTextureUV]).a * mat.specularFactors.a; +} + +vec2 getNormalUV(InputAttributes tc, MetallicRoughnessDataGPU mat) { + return mat.normalTextureUV > -1 ? tc.uv[mat.normalTextureUV] : tc.uv[0]; +} + +vec4 sampleAO(InputAttributes tc, MetallicRoughnessDataGPU mat) { + return textureBindless2D(mat.occlusionTexture, mat.occlusionTextureSampler, tc.uv[mat.occlusionTextureUV]); +} + +vec4 sampleEmissive(InputAttributes tc, MetallicRoughnessDataGPU mat) { + vec2 uv = mat.emissiveTextureUV > -1 ? tc.uv[mat.emissiveTextureUV] : tc.uv[0]; + return textureBindless2D(mat.emissiveTexture, mat.emissiveTextureSampler, uv) * vec4(mat.emissiveFactorAlphaCutoff.xyz, 1.0f); +} + +vec4 sampleAlbedo(InputAttributes tc, MetallicRoughnessDataGPU mat) { + return textureBindless2D(mat.baseColorTexture, mat.baseColorTextureSampler, tc.uv[mat.baseColorTextureUV]) * mat.baseColorFactor; +} + +vec4 sampleMetallicRoughness(InputAttributes tc, MetallicRoughnessDataGPU mat) { + return textureBindless2D(mat.metallicRoughnessTexture, mat.metallicRoughnessTextureSampler, tc.uv[mat.metallicRoughnessTextureUV]); +} + +vec4 sampleNormal(InputAttributes tc, MetallicRoughnessDataGPU mat) { + return textureBindless2D(mat.normalTexture, mat.normalTextureSampler, tc.uv[mat.normalTextureUV]);// * mat.metallicRoughnessNormalOcclusion.z; +} + +vec4 sampleClearcoatNormal(InputAttributes tc, MetallicRoughnessDataGPU mat) { + return textureBindless2D(mat.clearCoatNormalTexture, mat.clearCoatNormalTextureSampler, tc.uv[mat.clearCoatNormalTextureUV]); +} + +vec4 sampleBRDF_LUT(vec2 tc, EnvironmentMapDataGPU map) { + return textureBindless2D(map.texBRDFLUT, map.texBRDFLUTSampler, tc); +} + +vec4 sampleEnvMap(vec3 tc, EnvironmentMapDataGPU map) { + return textureBindlessCube(map.envMapTexture, map.envMapTextureSampler, tc); +} + +vec4 sampleEnvMapLod(vec3 tc, float lod, EnvironmentMapDataGPU map) { + return textureBindlessCubeLod(map.envMapTexture, map.envMapTextureSampler, tc, lod); +} + +vec4 sampleCharlieEnvMapLod(vec3 tc, float lod, EnvironmentMapDataGPU map) { + return textureBindlessCubeLod(map.envMapTextureCharlie, map.envMapTextureCharlieSampler, tc, lod); +} + +vec4 sampleEnvMapIrradiance(vec3 tc, EnvironmentMapDataGPU map) { + return textureBindlessCube(map.envMapTextureIrradiance, map.envMapTextureIrradianceSampler, tc); +} + +int sampleEnvMapQueryLevels(EnvironmentMapDataGPU map) { + return textureBindlessQueryLevelsCube(map.envMapTexture); +} + +vec4 sampleTransmissionFramebuffer(vec2 tc) { + return textureBindless2D(perFrame.transmissionFramebuffer, perFrame.transmissionFramebufferSampler, tc); +} + +bool isMaterialTypeSheen(MetallicRoughnessDataGPU mat) { + return (getMaterialType(mat) & 0x4) != 0; +} + +bool isMaterialTypeClearCoat(MetallicRoughnessDataGPU mat) { + return (getMaterialType(mat) & 0x8) != 0; +} + +bool isMaterialTypeSpecular(MetallicRoughnessDataGPU mat) { + return (getMaterialType(mat) & 0x10) != 0; +} + +bool isMaterialTypeTransmission(MetallicRoughnessDataGPU mat) { + return (getMaterialType(mat) & 0x20) != 0; +} + +bool isMaterialTypeVolume(MetallicRoughnessDataGPU mat) { + return (getMaterialType(mat) & 0x40) != 0; +} + +bool isMaterialTypeUnlit(MetallicRoughnessDataGPU mat) { + return (getMaterialType(mat) & 0x80) != 0; +} + + +uint getLightsCount() { + return perFrame.lightsCount; +} + +Light getLight(uint i) { + return perFrame.lights.lights[i]; +} + +mat4 getModel() { + uint mtxId = perFrame.transforms.transforms[oBaseInstance].mtxId; + return perFrame.drawable.model * perFrame.matrices.matrix[mtxId]; +} + +uint getMaterialId() { + return perFrame.transforms.transforms[oBaseInstance].matId; +} diff --git a/data/shaders/gltf/inputs.vert b/data/shaders/gltf/inputs.vert new file mode 100644 index 0000000..dd63f40 --- /dev/null +++ b/data/shaders/gltf/inputs.vert @@ -0,0 +1,28 @@ +#include + +layout (location = 0) in vec3 pos; +layout (location = 1) in vec3 normal; +layout (location = 2) in vec4 color; +layout (location = 3) in vec2 uv0; +layout (location = 4) in vec2 uv1; + +vec3 getPosition() { + return pos; +} + +vec3 getNormal() { + return normal; +} + +vec4 getColor() { + return color; +} + +vec2 getTexCoord(uint i) { + return i == 0 ? uv0 : uv1; +} + +mat4 getModel() { + uint mtxId = perFrame.transforms.transforms[gl_BaseInstance].mtxId; + return perFrame.drawable.model * perFrame.matrices.matrix[mtxId]; +} diff --git a/data/shaders/gltf/main.frag b/data/shaders/gltf/main.frag new file mode 100644 index 0000000..b8fb274 --- /dev/null +++ b/data/shaders/gltf/main.frag @@ -0,0 +1,216 @@ +// + +layout (location=0) in vec4 uv0uv1; +layout (location=1) in vec3 normal; +layout (location=2) in vec3 worldPos; +layout (location=3) in vec4 color; +layout (location=4) in flat int oBaseInstance; + +layout (location=0) out vec4 out_FragColor; + +#include +#include + +void main() +{ + InputAttributes tc; + tc.uv[0] = uv0uv1.xy; + tc.uv[1] = uv0uv1.zw; + + MetallicRoughnessDataGPU mat = getMaterial(getMaterialId()); + EnvironmentMapDataGPU envMap = getEnvironmentMap(getEnvironmentId()); + + vec4 Kd = sampleAlbedo(tc, mat) * color; + + if ((mat.alphaMode == 1) && (mat.emissiveFactorAlphaCutoff.w > Kd.a)) { + discard; + } + + if (isMaterialTypeUnlit(mat)) { + out_FragColor = Kd; + return; + } + + + vec4 Kao = sampleAO(tc, mat); + vec4 Ke = sampleEmissive(tc, mat); + vec4 mrSample = sampleMetallicRoughness(tc, mat); + + + bool isSheen = isMaterialTypeSheen(mat); + bool isClearCoat = isMaterialTypeClearCoat(mat); + bool isSpecular = isMaterialTypeSpecular(mat); + bool isTransmission = isMaterialTypeTransmission(mat); + bool isVolume = isMaterialTypeVolume(mat); + + vec3 n = normalize(normal); + + PBRInfo pbrInputs = calculatePBRInputsMetallicRoughness(tc, Kd, mrSample, mat); + pbrInputs.n = n; + pbrInputs.ng = n; + + if (mat.normalTexture != ~0) { + vec3 normalSample = sampleNormal(tc, mat).xyz; + perturbNormal(n, worldPos, normalSample, getNormalUV(tc, mat), pbrInputs); + n = pbrInputs.n; + } + vec3 v = normalize(perFrame.drawable.cameraPos.xyz - worldPos); // Vector from surface point to camera + + pbrInputs.v = v; + pbrInputs.NdotV = clamp(abs(dot(pbrInputs.n, pbrInputs.v)), 0.001, 1.0); + + if (isSheen) { + pbrInputs.sheenColorFactor = getSheenColorFactor(tc, mat).rgb; + pbrInputs.sheenRoughnessFactor = getSheenRoughnessFactor(tc, mat); + } + + vec3 clearCoatContrib = vec3(0); + + if (isClearCoat) { + pbrInputs.clearcoatFactor = getClearcoatFactor(tc, mat); + pbrInputs.clearcoatRoughness = clamp(getClearcoatRoughnessFactor(tc, mat), 0.0, 1.0); + pbrInputs.clearcoatF0 = vec3(pow((pbrInputs.ior - 1.0) / (pbrInputs.ior + 1.0), 2.0)); + pbrInputs.clearcoatF90 = vec3(1.0); + + + if (mat.clearCoatNormalTextureUV>-1) { + pbrInputs.clearcoatNormal = mat3(pbrInputs.t, pbrInputs.b, pbrInputs.ng) * sampleClearcoatNormal(tc, mat).rgb; + } else { + pbrInputs.clearcoatNormal =pbrInputs.ng; + } + clearCoatContrib = getIBLRadianceGGX(pbrInputs.clearcoatNormal, pbrInputs.v, pbrInputs.clearcoatRoughness, pbrInputs.clearcoatF0, 1.0, envMap); + } + + if (isTransmission) { + pbrInputs.transmissionFactor = getTransmissionFactor(tc, mat); + } + + if (isVolume) { + pbrInputs.thickness = getVolumeTickness(tc, mat); + pbrInputs.attenuation = getVolumeAttenuation(mat); + } + + // IBL contribution + vec3 specularColor = getIBLRadianceContributionGGX(pbrInputs, pbrInputs.specularWeight, envMap); + vec3 diffuseColor = getIBLRadianceLambertian(pbrInputs.NdotV, n, pbrInputs.perceptualRoughness, pbrInputs.diffuseColor, pbrInputs.reflectance0, pbrInputs.specularWeight, envMap); + + vec3 transmission = vec3(0,0,0); + if (isTransmission) { + transmission += getIBLVolumeRefraction( + pbrInputs.n, pbrInputs.v, + pbrInputs.perceptualRoughness, + pbrInputs.diffuseColor, pbrInputs.reflectance0, pbrInputs.reflectance90, + worldPos, getModel(), getViewProjection(), + pbrInputs.ior, pbrInputs.thickness, pbrInputs.attenuation.rgb, pbrInputs.attenuation.w); + } + + vec3 sheenColor = vec3(0); + + if (isSheen) { + sheenColor += getIBLRadianceCharlie(pbrInputs, envMap); + } + + + vec3 lights_diffuse = vec3(0); + vec3 lights_specular = vec3(0); + vec3 lights_sheen = vec3(0); + vec3 lights_clearcoat = vec3(0); + vec3 lights_transmission = vec3(0); + + float albedoSheenScaling = 1.0; + + for (uint i = 0; i < getLightsCount(); ++i) + { + Light light = getLight(i); + + vec3 pointToLight = (light.type == LightType_Directional) ? -light.direction : light.position - worldPos; + + // BSTF + vec3 l = normalize(pointToLight); + vec3 h = normalize(l + v); + float NdotL = clampedDot(n, l); + float NdotV = clampedDot(n, v); + float NdotH = clampedDot(n, h); + float LdotH = clampedDot(l, h); + float VdotH = clampedDot(v, h); + if (NdotL > 0.0 || NdotV > 0.0) + { + // Calculation of analytical light + // https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#acknowledgments AppendixB + vec3 intensity = getLightIntensity(light, pointToLight); + + lights_diffuse += intensity * NdotL * getBRDFLambertian(pbrInputs.reflectance0, pbrInputs.reflectance90, pbrInputs.diffuseColor, pbrInputs.specularWeight, VdotH); + lights_specular += intensity * NdotL * getBRDFSpecularGGX(pbrInputs.reflectance0, pbrInputs.reflectance90, pbrInputs.alphaRoughness, pbrInputs.specularWeight, VdotH, NdotL, NdotV, NdotH); + + if (isSheen) { + lights_sheen += intensity * getPunctualRadianceSheen(pbrInputs.sheenColorFactor, pbrInputs.sheenRoughnessFactor, NdotL, NdotV, NdotH); + albedoSheenScaling = min(1.0 - max3(pbrInputs.sheenColorFactor) * albedoSheenScalingFactor(NdotV, pbrInputs.sheenRoughnessFactor), + 1.0 - max3(pbrInputs.sheenColorFactor) * albedoSheenScalingFactor(NdotL, pbrInputs.sheenRoughnessFactor)); + } + + if (isClearCoat) { + lights_clearcoat += intensity * getPunctualRadianceClearCoat(pbrInputs.clearcoatNormal, v, l, h, VdotH, + pbrInputs.clearcoatF0, pbrInputs.clearcoatF90, pbrInputs.clearcoatRoughness); + } + } + // BDTF + if (isTransmission) { + // If the light ray travels through the geometry, use the point it exits the geometry again. + // That will change the angle to the light source, if the material refracts the light ray. + vec3 transmissionRay = getVolumeTransmissionRay(n, v, pbrInputs.thickness, pbrInputs.ior, getModel()); + pointToLight -= transmissionRay; + l = normalize(pointToLight); + + vec3 intensity = getLightIntensity(light, pointToLight); + vec3 transmittedLight = intensity * getPunctualRadianceTransmission(n, v, l, pbrInputs.alphaRoughness, pbrInputs.reflectance0, pbrInputs.clearcoatF90, pbrInputs.diffuseColor, pbrInputs.ior); + + if (isVolume) { + transmittedLight = applyVolumeAttenuation(transmittedLight, length(transmissionRay), pbrInputs.attenuation.rgb, pbrInputs.attenuation.w); + } + + lights_transmission += transmittedLight; + } + } + + // ambient occlusion + float occlusion = Kao.r < 0.01 ? 1.0 : Kao.r; + float occlusionStrength = getOcclusionFactor(mat); + diffuseColor = lights_diffuse + mix(diffuseColor, diffuseColor * occlusion, occlusionStrength); + specularColor = lights_specular + mix(specularColor, specularColor * occlusion, occlusionStrength); + sheenColor = lights_sheen + mix(sheenColor, sheenColor * occlusion, occlusionStrength); + + vec3 emissiveColor = Ke.rgb * sampleEmissive(tc, mat).rgb; + + vec3 clearcoatFresnel = vec3(0); + if (isClearCoat) { + clearcoatFresnel = F_Schlick(pbrInputs.clearcoatF0, pbrInputs.clearcoatF90, clampedDot(pbrInputs.clearcoatNormal, pbrInputs.v)); + } + + if (isTransmission) { + diffuseColor = mix(diffuseColor, transmission, pbrInputs.transmissionFactor); + } + + vec3 color = specularColor + diffuseColor + emissiveColor + sheenColor; + color = color * (1.0 - pbrInputs.clearcoatFactor * clearcoatFresnel) + clearCoatContrib; + + + color = pow(color, vec3(1.0/2.2)); + out_FragColor = vec4(color, 1.0); + +// DEBUG +// out_FragColor = vec4((n + vec3(1.0))*0.5, 1.0); +// out_FragColor = vec4((pbrInputs.n + vec3(1.0))*0.5, 1.0); +// out_FragColor = vec4((normal + vec3(1.0))*0.5, 1.0); +// out_FragColor = Kao; +// out_FragColor = Ke; +// out_FragColor = Kd; +// vec2 MeR = mrSample.yz; +// MeR.x *= getMetallicFactor(mat); +// MeR.y *= getRoughnessFactor(mat); +// out_FragColor = vec4(MeR.y,MeR.y,MeR.y, 1.0); +// out_FragColor = vec4(MeR.x,MeR.x,MeR.x, 1.0); +// out_FragColor = mrSample; +// out_FragColor = vec4(transmission, 1.0); +// out_FragColor = vec4(punctualColor, 1.0); +} + diff --git a/data/shaders/gltf/main.vert b/data/shaders/gltf/main.vert new file mode 100644 index 0000000..9c85e83 --- /dev/null +++ b/data/shaders/gltf/main.vert @@ -0,0 +1,28 @@ +// + +layout (location=0) out vec4 oUV0UV1; +layout (location=1) out vec3 oNormal; +layout (location=2) out vec3 oWorldPos; +layout (location=3) out vec4 oColor; +layout (location=4) out flat int oBaseInstance; + +#include + +void main() { + mat4 model = getModel(); + mat4 MVP = getViewProjection() * model; + + vec3 pos = getPosition(); + gl_Position = MVP * vec4(pos, 1.0); + + oUV0UV1 = vec4(getTexCoord(0), getTexCoord(1)); + oColor = getColor(); + + mat3 normalMatrix = transpose( inverse(mat3(model)) ); + + oNormal = normalMatrix * getNormal(); + vec4 posClip = model * vec4(pos, 1.0); + oWorldPos = posClip.xyz/posClip.w; + + oBaseInstance = gl_BaseInstance; +} diff --git a/data/wood.jpg b/data/wood.jpg new file mode 100644 index 0000000..30b08bb Binary files /dev/null and b/data/wood.jpg differ diff --git a/deps b/deps new file mode 160000 index 0000000..f395ada --- /dev/null +++ b/deps @@ -0,0 +1 @@ +Subproject commit f395ada8a23a3d1adbc3cd2cba08e74bf6b34d9a diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..1787870 --- /dev/null +++ b/flake.lock @@ -0,0 +1,61 @@ +{ + "nodes": { + "nixpkgs": { + "locked": { + "lastModified": 1746576598, + "narHash": "sha256-FshoQvr6Aor5SnORVvh/ZdJ1Sa2U4ZrIMwKBX5k2wu0=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "b3582c75c7f21ce0b429898980eddbbf05c68e55", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "nixpkgs": "nixpkgs", + "utils": "utils" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..df0bf72 --- /dev/null +++ b/flake.nix @@ -0,0 +1,77 @@ +{ + description = "3D Graphics Rendering Cookbook project setup"; + + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; + utils.url = "github:numtide/flake-utils"; + }; + + outputs = { + self, + nixpkgs, + ... + } @ inputs: + inputs.utils.lib.eachSystem [ + "x86_64-linux" + "i686-linux" + "aarch64-linux" + "x86_64-darwin" + ] (system: let + pkgs = import nixpkgs { + inherit system; + overlays = []; + }; + + # Project management scripts + projectScripts = pkgs.writeShellScriptBin "vk" (builtins.readFile ./vk.sh); + in { + devShells.default = pkgs.mkShell.override {stdenv = pkgs.clangStdenv;} rec { + name = "vulkan-graphics-cookbook"; + + LD_LIBRARY_PATH = with pkgs; + lib.makeLibraryPath [ + wayland + libxkbcommon + libffi + xorg.libX11 + xorg.libXrandr + xorg.libXinerama + xorg.libXcursor + xorg.libXi + ]; + + packages = with pkgs; [ + cmake + wayland-scanner + pkg-config + wayland + libxkbcommon + libffi + xorg.libX11 + xorg.libXrandr + xorg.libXinerama + xorg.libXcursor + xorg.libXi + + vulkan-tools + vulkan-headers + vulkan-loader + vulkan-validation-layers + libglvnd + + tbb + + python3 + ninja + + # Add our project management scripts + projectScripts + ]; + + shellHook = '' + echo "Vulkan Graphics Cookbook Development Environment" + echo "Run 'vk help' for available commands" + ''; + }; + }); +} diff --git a/shared/Bitmap.h b/shared/Bitmap.h new file mode 100644 index 0000000..f26eb0c --- /dev/null +++ b/shared/Bitmap.h @@ -0,0 +1,121 @@ +#pragma once + +#include +#include + +#include + +enum eBitmapType +{ + eBitmapType_2D, + eBitmapType_Cube +}; + +enum eBitmapFormat +{ + eBitmapFormat_UnsignedByte, + eBitmapFormat_Float, +}; + +/// R/RG/RGB/RGBA bitmaps +struct Bitmap +{ + Bitmap() = default; + Bitmap(int w, int h, int comp, eBitmapFormat fmt) + :w_(w), h_(h), comp_(comp), fmt_(fmt), data_(w * h * comp * getBytesPerComponent(fmt)) + { + initGetSetFuncs(); + } + Bitmap(int w, int h, int d, int comp, eBitmapFormat fmt) + :w_(w), h_(h), d_(d), comp_(comp), fmt_(fmt), data_(w * h * d * comp * getBytesPerComponent(fmt)) + { + initGetSetFuncs(); + } + Bitmap(int w, int h, int comp, eBitmapFormat fmt, const void* ptr) + :w_(w), h_(h), comp_(comp), fmt_(fmt), data_(w * h * comp * getBytesPerComponent(fmt)) + { + initGetSetFuncs(); + memcpy(data_.data(), ptr, data_.size()); + } + int w_ = 0; + int h_ = 0; + int d_ = 1; + int comp_ = 3; + eBitmapFormat fmt_ = eBitmapFormat_UnsignedByte; + eBitmapType type_ = eBitmapType_2D; + std::vector data_; + + static int getBytesPerComponent(eBitmapFormat fmt) + { + if (fmt == eBitmapFormat_UnsignedByte) return 1; + if (fmt == eBitmapFormat_Float) return 4; + return 0; + } + + void setPixel(int x, int y, const glm::vec4& c) + { + (*this.*setPixelFunc)(x, y, c); + } + glm::vec4 getPixel(int x, int y) const + { + return ((*this.*getPixelFunc)(x, y)); + } +private: + using setPixel_t = void(Bitmap::*)(int, int, const glm::vec4&); + using getPixel_t = glm::vec4(Bitmap::*)(int, int) const; + setPixel_t setPixelFunc = &Bitmap::setPixelUnsignedByte; + getPixel_t getPixelFunc = &Bitmap::getPixelUnsignedByte; + + void initGetSetFuncs() + { + switch (fmt_) + { + case eBitmapFormat_UnsignedByte: + setPixelFunc = &Bitmap::setPixelUnsignedByte; + getPixelFunc = &Bitmap::getPixelUnsignedByte; + break; + case eBitmapFormat_Float: + setPixelFunc = &Bitmap::setPixelFloat; + getPixelFunc = &Bitmap::getPixelFloat; + break; + } + } + + void setPixelFloat(int x, int y, const glm::vec4& c) + { + const int ofs = comp_ * (y * w_ + x); + float* data = reinterpret_cast(data_.data()); + if (comp_ > 0) data[ofs + 0] = c.x; + if (comp_ > 1) data[ofs + 1] = c.y; + if (comp_ > 2) data[ofs + 2] = c.z; + if (comp_ > 3) data[ofs + 3] = c.w; + } + glm::vec4 getPixelFloat(int x, int y) const + { + const int ofs = comp_ * (y * w_ + x); + const float* data = reinterpret_cast(data_.data()); + return glm::vec4( + comp_ > 0 ? data[ofs + 0] : 0.0f, + comp_ > 1 ? data[ofs + 1] : 0.0f, + comp_ > 2 ? data[ofs + 2] : 0.0f, + comp_ > 3 ? data[ofs + 3] : 0.0f); + } + + void setPixelUnsignedByte(int x, int y, const glm::vec4& c) + { + const int ofs = comp_ * (y * w_ + x); + if (comp_ > 0) data_[ofs + 0] = uint8_t(c.x * 255.0f); + if (comp_ > 1) data_[ofs + 1] = uint8_t(c.y * 255.0f); + if (comp_ > 2) data_[ofs + 2] = uint8_t(c.z * 255.0f); + if (comp_ > 3) data_[ofs + 3] = uint8_t(c.w * 255.0f); + } + glm::vec4 getPixelUnsignedByte(int x, int y) const + { + const int ofs = comp_ * (y * w_ + x); + return glm::vec4( + comp_ > 0 ? float(data_[ofs + 0]) / 255.0f : 0.0f, + comp_ > 1 ? float(data_[ofs + 1]) / 255.0f : 0.0f, + comp_ > 2 ? float(data_[ofs + 2]) / 255.0f : 0.0f, + comp_ > 3 ? float(data_[ofs + 3]) / 255.0f : 0.0f); + } +}; diff --git a/shared/CMakeLists.txt b/shared/CMakeLists.txt new file mode 100644 index 0000000..b9a3e18 --- /dev/null +++ b/shared/CMakeLists.txt @@ -0,0 +1,33 @@ +cmake_minimum_required(VERSION 3.19) + +project(SharedUtils CXX C) + +include(../CMake/CommonMacros.txt) + +file(GLOB_RECURSE SRC_FILES LIST_DIRECTORIES false RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.c??) +file(GLOB_RECURSE HEADER_FILES LIST_DIRECTORIES false RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.h) + + +add_library(SharedUtils ${SRC_FILES} ${HEADER_FILES}) + +set_property(TARGET SharedUtils PROPERTY CXX_STANDARD 20) +set_property(TARGET SharedUtils PROPERTY CXX_STANDARD_REQUIRED ON) + +# Add include directory for the root of the project to fix include paths +target_include_directories(SharedUtils PUBLIC ${CMAKE_SOURCE_DIR}) + +target_link_libraries(SharedUtils PUBLIC assimp) +target_link_libraries(SharedUtils PUBLIC glslang) +target_link_libraries(SharedUtils PUBLIC glfw) +target_link_libraries(SharedUtils PUBLIC LUtils) +target_link_libraries(SharedUtils PUBLIC LVKLibrary) +target_link_libraries(SharedUtils PUBLIC LVKstb) +target_link_libraries(SharedUtils PUBLIC ktx) + +if(WIN32) + target_compile_definitions(SharedUtils PUBLIC "NOMINMAX") +endif() + +if(UNIX AND NOT APPLE) + target_link_libraries(SharedUtils PUBLIC tbb) +endif() diff --git a/shared/Camera.h b/shared/Camera.h new file mode 100644 index 0000000..af056e7 --- /dev/null +++ b/shared/Camera.h @@ -0,0 +1,232 @@ +#pragma once + +#include +#include + +#include "shared/UtilsMath.h" +#include "shared/Trackball.h" + +#include "glm/gtx/euler_angles.hpp" + +class CameraPositionerInterface +{ +public: + virtual ~CameraPositionerInterface() = default; + virtual glm::mat4 getViewMatrix() const = 0; + virtual glm::vec3 getPosition() const = 0; +}; + +class Camera final +{ +public: + explicit Camera(CameraPositionerInterface& positioner) + : positioner_(&positioner) + {} + + Camera(const Camera&) = default; + Camera& operator = (const Camera&) = default; + + glm::mat4 getViewMatrix() const { return positioner_->getViewMatrix(); } + glm::vec3 getPosition() const { return positioner_->getPosition(); } + glm::mat4 getProjMatrix() const { return proj_; } + +private: + const CameraPositionerInterface* positioner_; + glm::mat4 proj_; +}; + +class CameraPositioner_FirstPerson final: public CameraPositionerInterface +{ +public: + CameraPositioner_FirstPerson() = default; + CameraPositioner_FirstPerson(const glm::vec3& pos, const glm::vec3& target, const glm::vec3& up) + : cameraPosition_(pos) + , cameraOrientation_(glm::lookAt(pos, target, up)) + , up_(up) + {} + + void update(double deltaSeconds, const glm::vec2& mousePos, bool mousePressed) + { + if (mousePressed) + { + const glm::vec2 delta = mousePos - mousePos_; + const glm::quat deltaQuat = glm::quat(glm::vec3(-mouseSpeed_ * delta.y, mouseSpeed_ * delta.x, 0.0f)); + cameraOrientation_ = deltaQuat * cameraOrientation_; + cameraOrientation_ = glm::normalize(cameraOrientation_); + setUpVector(up_); + } + mousePos_ = mousePos; + + const glm::mat4 v = glm::mat4_cast(cameraOrientation_); + + const glm::vec3 forward = -glm::vec3(v[0][2], v[1][2], v[2][2]); + const glm::vec3 right = glm::vec3(v[0][0], v[1][0], v[2][0]); + const glm::vec3 up = glm::cross(right, forward); + + glm::vec3 accel(0.0f); + + if (movement_.forward_) accel += forward; + if (movement_.backward_) accel -= forward; + + if (movement_.left_) accel -= right; + if (movement_.right_) accel += right; + + if (movement_.up_) accel += up; + if (movement_.down_) accel -= up; + + if (movement_.fastSpeed_) accel *= fastCoef_; + + if (accel == glm::vec3(0)) + { + // decelerate naturally according to the damping value + moveSpeed_ -= moveSpeed_ * std::min((1.0f / damping_) * static_cast(deltaSeconds), 1.0f); + } + else + { + // acceleration + moveSpeed_ += accel * acceleration_ * static_cast(deltaSeconds); + const float maxSpeed = movement_.fastSpeed_ ? maxSpeed_ * fastCoef_ : maxSpeed_; + if (glm::length(moveSpeed_) > maxSpeed) moveSpeed_ = glm::normalize(moveSpeed_) * maxSpeed; + } + + cameraPosition_ += moveSpeed_ * static_cast(deltaSeconds); + } + + virtual glm::mat4 getViewMatrix() const override + { + const glm::mat4 t = glm::translate(glm::mat4(1.0f), -cameraPosition_); + const glm::mat4 r = glm::mat4_cast(cameraOrientation_); + return r * t; + } + + virtual glm::vec3 getPosition() const override + { + return cameraPosition_; + } + + void setPosition(const glm::vec3& pos) + { + cameraPosition_ = pos; + } + + void setSpeed(const glm::vec3& speed) { + moveSpeed_ = speed; + } + + void resetMousePosition(const glm::vec2& p) { mousePos_ = p; }; + + void setUpVector(const glm::vec3& up) + { + const glm::mat4 view = getViewMatrix(); + const glm::vec3 dir = -glm::vec3(view[0][2], view[1][2], view[2][2]); + cameraOrientation_ = glm::lookAt(cameraPosition_, cameraPosition_ + dir, up); + } + + inline void lookAt(const glm::vec3& pos, const glm::vec3& target, const glm::vec3& up) { + cameraPosition_ = pos; + cameraOrientation_ = glm::lookAt(pos, target, up); + } + +public: + struct Movement + { + bool forward_ = false; + bool backward_ = false; + bool left_ = false; + bool right_ = false; + bool up_ = false; + bool down_ = false; + // + bool fastSpeed_ = false; + } movement_; + +public: + float mouseSpeed_ = 4.0f; + float acceleration_ = 150.0f; + float damping_ = 0.2f; + float maxSpeed_ = 10.0f; + float fastCoef_ = 10.0f; + +private: + glm::vec2 mousePos_ = glm::vec2(0); + glm::vec3 cameraPosition_ = glm::vec3(0.0f, 10.0f, 10.0f); + glm::quat cameraOrientation_ = glm::quat(glm::vec3(0)); + glm::vec3 moveSpeed_ = glm::vec3(0.0f); + glm::vec3 up_ = glm::vec3(0.0f, 0.0f, 1.0f); +}; + +class CameraPositioner_MoveTo final : public CameraPositionerInterface +{ +public: + CameraPositioner_MoveTo(const glm::vec3& pos, const glm::vec3& angles) + : positionCurrent_(pos) + , positionDesired_(pos) + , anglesCurrent_(angles) + , anglesDesired_(angles) + {} + + void update(float deltaSeconds, const glm::vec2& mousePos, bool mousePressed) + { + positionCurrent_ += dampingLinear_ * deltaSeconds * (positionDesired_ - positionCurrent_); + + // normalization is required to avoid "spinning" around the object 2pi times + anglesCurrent_ = clipAngles(anglesCurrent_); + anglesDesired_ = clipAngles(anglesDesired_); + + // update angles + anglesCurrent_ -= angleDelta(anglesCurrent_, anglesDesired_) * dampingEulerAngles_ * deltaSeconds; + + // normalize new angles + anglesCurrent_ = clipAngles(anglesCurrent_); + + const glm::vec3 a = glm::radians(anglesCurrent_); + + currentTransform_ = glm::translate(glm::yawPitchRoll(a.y, a.x, a.z), -positionCurrent_); + } + + void setPosition(const glm::vec3& p) { positionCurrent_ = p; } + void setAngles(float pitch, float pan, float roll) { anglesCurrent_ = glm::vec3(pitch, pan, roll); } + void setAngles(const glm::vec3& angles) { anglesCurrent_ = angles; } + void setDesiredPosition(const glm::vec3& p) { positionDesired_ = p; } + void setDesiredAngles(float pitch, float pan, float roll) { anglesDesired_ = glm::vec3(pitch, pan, roll); } + void setDesiredAngles(const glm::vec3& angles) { anglesDesired_ = angles; } + + virtual glm::vec3 getPosition() const override { return positionCurrent_; } + virtual glm::mat4 getViewMatrix() const override { return currentTransform_; } + +public: + float dampingLinear_ = 10.0f; + glm::vec3 dampingEulerAngles_ = glm::vec3(5.0f, 5.0f, 5.0f); + +private: + glm::vec3 positionCurrent_ = glm::vec3(0.0f); + glm::vec3 positionDesired_ = glm::vec3(0.0f); + + /// pitch, pan, roll + glm::vec3 anglesCurrent_ = glm::vec3(0.0f); + glm::vec3 anglesDesired_ = glm::vec3(0.0f); + + glm::mat4 currentTransform_ = glm::mat4(1.0f); + + static inline float clipAngle(float d) + { + if (d < -180.0f) return d + 360.0f; + if (d > +180.0f) return d - 360.f; + return d; + } + + static inline glm::vec3 clipAngles(const glm::vec3& angles) + { + return glm::vec3( + std::fmod(angles.x, 360.0f), + std::fmod(angles.y, 360.0f), + std::fmod(angles.z, 360.0f) + ); + } + + static inline glm::vec3 angleDelta(const glm::vec3& anglesCurrent, const glm::vec3& anglesDesired) + { + const glm::vec3 d = clipAngles(anglesCurrent) - clipAngles(anglesDesired); + return glm::vec3(clipAngle(d.x), clipAngle(d.y), clipAngle(d.z)); + } +}; diff --git a/shared/Graph.h b/shared/Graph.h new file mode 100644 index 0000000..c409a0a --- /dev/null +++ b/shared/Graph.h @@ -0,0 +1,77 @@ +#pragma once + +#include + +#include +#include + +class LinearGraph +{ +public: + explicit LinearGraph(const char* name, size_t maxGraphPoints = 256) + : name_(name) + , maxPoints_(maxGraphPoints) + { + } + + void addPoint(float value) + { + graph_.push_back(value); + if (graph_.size() > maxPoints_) + graph_.erase(graph_.begin()); + } + + void renderGraph(uint32_t x, uint32_t y, uint32_t width, uint32_t height, const glm::vec4& color = vec4(1.0)) const + { + LVK_PROFILER_FUNCTION(); + + float minVal = std::numeric_limits::max(); + float maxVal = std::numeric_limits::min(); + + for (float f : graph_) { + if (f < minVal) + minVal = f; + if (f > maxVal) + maxVal = f; + } + + const float range = maxVal - minVal; + + float valX = 0.0; + + std::vector dataX_; + std::vector dataY_; + dataX_.reserve(graph_.size()); + dataY_.reserve(graph_.size()); + + for (float f : graph_) { + const float valY = (f - minVal) / range; + valX += 1.0f / maxPoints_; + dataX_.push_back(valX); + dataY_.push_back(valY); + } + + ImGui::SetNextWindowPos(ImVec2(x, y)); + ImGui::SetNextWindowSize(ImVec2(width, height)); + ImGui::Begin( + name_, nullptr, + ImGuiWindowFlags_NoDecoration | ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_NoSavedSettings | + ImGuiWindowFlags_NoFocusOnAppearing | ImGuiWindowFlags_NoNav | ImGuiWindowFlags_NoBackground | ImGuiWindowFlags_NoInputs); + + if (ImPlot::BeginPlot(name_, ImVec2(width, height), ImPlotFlags_CanvasOnly | ImPlotFlags_NoFrame | ImPlotFlags_NoInputs)) { + ImPlot::SetupAxes(nullptr, nullptr, ImPlotAxisFlags_NoDecorations, ImPlotAxisFlags_NoDecorations); + ImPlot::PushStyleColor(ImPlotCol_Line, ImVec4(color.r, color.g, color.b, color.a)); + ImPlot::PushStyleColor(ImPlotCol_PlotBg, ImVec4(0, 0, 0, 0)); + ImPlot::PlotLine("#line", dataX_.data(), dataY_.data(), (int)graph_.size(), ImPlotLineFlags_None); + ImPlot::PopStyleColor(2); + ImPlot::EndPlot(); + } + + ImGui::End(); + } + +private: + const char* name_ = nullptr; + const size_t maxPoints_; + std::deque graph_; +}; diff --git a/shared/HelpersGLFW.cpp b/shared/HelpersGLFW.cpp new file mode 100644 index 0000000..311772b --- /dev/null +++ b/shared/HelpersGLFW.cpp @@ -0,0 +1,55 @@ +#include "HelpersGLFW.h" + +GLFWwindow* initWindow(const char* windowTitle, uint32_t& outWidth, uint32_t& outHeight) +{ + glfwSetErrorCallback([](int error, const char* description) { printf("GLFW Error (%i): %s\n", error, description); }); + + if (!glfwInit()) { + return nullptr; + } + + const bool wantsWholeArea = !outWidth || !outHeight; + + glfwWindowHint(GLFW_CLIENT_API, GLFW_NO_API); + glfwWindowHint(GLFW_RESIZABLE, wantsWholeArea ? GLFW_FALSE : GLFW_TRUE); + + // render full screen without overlapping taskbar + GLFWmonitor* monitor = glfwGetPrimaryMonitor(); + const GLFWvidmode* mode = glfwGetVideoMode(monitor); + + int x = 0; + int y = 0; + int w = mode->width; + int h = mode->height; + + if (wantsWholeArea) { + glfwGetMonitorWorkarea(monitor, &x, &y, &w, &h); + } else { + w = outWidth; + h = outHeight; + } + + GLFWwindow* window = glfwCreateWindow(w, h, windowTitle, nullptr, nullptr); + + if (!window) { + glfwTerminate(); + return nullptr; + } + + if (wantsWholeArea) { + glfwSetWindowPos(window, x, y); + } + + glfwGetWindowSize(window, &w, &h); + + glfwSetKeyCallback(window, [](GLFWwindow* window, int key, int, int action, int) { + if (key == GLFW_KEY_ESCAPE && action == GLFW_PRESS) { + glfwSetWindowShouldClose(window, GLFW_TRUE); + } + }); + + outWidth = (uint32_t)w; + outHeight = (uint32_t)h; + + return window; +} diff --git a/shared/HelpersGLFW.h b/shared/HelpersGLFW.h new file mode 100644 index 0000000..a5440d9 --- /dev/null +++ b/shared/HelpersGLFW.h @@ -0,0 +1,24 @@ +#pragma once + +#include + +#define GLFW_INCLUDE_NONE +#include + +// clang-format off +#ifdef _WIN32 +# define GLFW_EXPOSE_NATIVE_WIN32 +# define GLFW_EXPOSE_NATIVE_WGL +#elif __APPLE__ +# define GLFW_EXPOSE_NATIVE_COCOA +#elif defined(__linux__) +# define GLFW_EXPOSE_NATIVE_X11 +#else +# error Unsupported OS +#endif +// clang-format on + +#include + +GLFWwindow *initWindow(const char *windowTitle, uint32_t &outWidth, + uint32_t &outHeight); diff --git a/shared/LineCanvas.cpp b/shared/LineCanvas.cpp new file mode 100644 index 0000000..cda49ab --- /dev/null +++ b/shared/LineCanvas.cpp @@ -0,0 +1,239 @@ +#include "LineCanvas.h" + +static const char* codeVS = R"( +layout (location = 0) out vec4 out_color; + +struct Vertex { + vec4 pos; + vec4 rgba; +}; + +layout(std430, buffer_reference) readonly buffer VertexBuffer { + Vertex vertices[]; +}; + +layout(push_constant) uniform PushConstants { + mat4 mvp; + VertexBuffer vb; +}; + +void main() { + // Vertex v = vb.vertices[gl_VertexIndex]; <--- does not work on Snapdragon Adreno + out_color = vb.vertices[gl_VertexIndex].rgba; + gl_Position = mvp * vb.vertices[gl_VertexIndex].pos; +})"; + +static const char* codeFS = R"( +layout (location = 0) in vec4 in_color; +layout (location = 0) out vec4 out_color; + +void main() { + out_color = in_color; +})"; + +void LineCanvas2D::render(const char* nameImGuiWindow) +{ + LVK_PROFILER_FUNCTION(); + + ImGui::SetNextWindowPos(ImVec2(0, 0)); + ImGui::SetNextWindowSize(ImGui::GetMainViewport()->Size); + ImGui::Begin( + nameImGuiWindow, nullptr, + ImGuiWindowFlags_NoDecoration | ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_NoSavedSettings | + ImGuiWindowFlags_NoFocusOnAppearing | ImGuiWindowFlags_NoNav | ImGuiWindowFlags_NoBackground | ImGuiWindowFlags_NoInputs); + + ImDrawList* drawList = ImGui::GetBackgroundDrawList(); + + for (const LineData& l : lines_) { + drawList->AddLine(ImVec2(l.p1.x, l.p1.y), ImVec2(l.p2.x, l.p2.y), ImColor(l.color.r, l.color.g, l.color.b, l.color.a)); + } + + ImGui::End(); +} + +void LineCanvas3D::line(const vec3& p1, const vec3& p2, const vec4& c) +{ + lines_.push_back({ .pos = vec4(p1, 1.0f), .color = c }); + lines_.push_back({ .pos = vec4(p2, 1.0f), .color = c }); +} + +void LineCanvas3D::plane( + const vec3& o, const vec3& v1, const vec3& v2, int n1, int n2, float s1, float s2, const vec4& color, const vec4& outlineColor) +{ + line(o - s1 / 2.0f * v1 - s2 / 2.0f * v2, o - s1 / 2.0f * v1 + s2 / 2.0f * v2, outlineColor); + line(o + s1 / 2.0f * v1 - s2 / 2.0f * v2, o + s1 / 2.0f * v1 + s2 / 2.0f * v2, outlineColor); + + line(o - s1 / 2.0f * v1 + s2 / 2.0f * v2, o + s1 / 2.0f * v1 + s2 / 2.0f * v2, outlineColor); + line(o - s1 / 2.0f * v1 - s2 / 2.0f * v2, o + s1 / 2.0f * v1 - s2 / 2.0f * v2, outlineColor); + + for (int i = 1; i < n1; i++) { + float t = ((float)i - (float)n1 / 2.0f) * s1 / (float)n1; + const vec3 o1 = o + t * v1; + line(o1 - s2 / 2.0f * v2, o1 + s2 / 2.0f * v2, color); + } + + for (int i = 1; i < n2; i++) { + const float t = ((float)i - (float)n2 / 2.0f) * s2 / (float)n2; + const vec3 o2 = o + t * v2; + line(o2 - s1 / 2.0f * v1, o2 + s1 / 2.0f * v1, color); + } +} + +void LineCanvas3D::box(const mat4& m, const vec3& size, const vec4& c) +{ + vec3 pts[8] = { + vec3(+size.x, +size.y, +size.z), vec3(+size.x, +size.y, -size.z), vec3(+size.x, -size.y, +size.z), vec3(+size.x, -size.y, -size.z), + vec3(-size.x, +size.y, +size.z), vec3(-size.x, +size.y, -size.z), vec3(-size.x, -size.y, +size.z), vec3(-size.x, -size.y, -size.z), + }; + + for (auto& p : pts) + p = vec3(m * vec4(p, 1.f)); + + line(pts[0], pts[1], c); + line(pts[2], pts[3], c); + line(pts[4], pts[5], c); + line(pts[6], pts[7], c); + + line(pts[0], pts[2], c); + line(pts[1], pts[3], c); + line(pts[4], pts[6], c); + line(pts[5], pts[7], c); + + line(pts[0], pts[4], c); + line(pts[1], pts[5], c); + line(pts[2], pts[6], c); + line(pts[3], pts[7], c); +} + +void LineCanvas3D::box(const mat4& m, const BoundingBox& box, const glm::vec4& color) +{ + this->box(m * glm::translate(mat4(1.f), .5f * (box.min_ + box.max_)), 0.5f * vec3(box.max_ - box.min_), color); +} + +void LineCanvas3D::frustum(const mat4& camView, const mat4& camProj, const vec4& color) +{ + const vec3 corners[] = { vec3(-1, -1, -1), vec3(+1, -1, -1), vec3(+1, +1, -1), vec3(-1, +1, -1), + vec3(-1, -1, +1), vec3(+1, -1, +1), vec3(+1, +1, +1), vec3(-1, +1, +1) }; + + vec3 pp[8]; + + for (int i = 0; i < 8; i++) { + vec4 q = glm::inverse(camView) * glm::inverse(camProj) * vec4(corners[i], 1.0f); + pp[i] = vec3(q.x / q.w, q.y / q.w, q.z / q.w); + } + line(pp[0], pp[4], color); + line(pp[1], pp[5], color); + line(pp[2], pp[6], color); + line(pp[3], pp[7], color); + // near + line(pp[0], pp[1], color); + line(pp[1], pp[2], color); + line(pp[2], pp[3], color); + line(pp[3], pp[0], color); + // x + line(pp[0], pp[2], color); + line(pp[1], pp[3], color); + // far + line(pp[4], pp[5], color); + line(pp[5], pp[6], color); + line(pp[6], pp[7], color); + line(pp[7], pp[4], color); + // x + line(pp[4], pp[6], color); + line(pp[5], pp[7], color); + + const vec4 gridColor = color * 0.7f; + const int gridLines = 100; + + // bottom + { + vec3 p1 = pp[0]; + vec3 p2 = pp[1]; + const vec3 s1 = (pp[4] - pp[0]) / float(gridLines); + const vec3 s2 = (pp[5] - pp[1]) / float(gridLines); + for (int i = 0; i != gridLines; i++, p1 += s1, p2 += s2) + line(p1, p2, gridColor); + } + // top + { + vec3 p1 = pp[2]; + vec3 p2 = pp[3]; + const vec3 s1 = (pp[6] - pp[2]) / float(gridLines); + const vec3 s2 = (pp[7] - pp[3]) / float(gridLines); + for (int i = 0; i != gridLines; i++, p1 += s1, p2 += s2) + line(p1, p2, gridColor); + } + // left + { + vec3 p1 = pp[0]; + vec3 p2 = pp[3]; + const vec3 s1 = (pp[4] - pp[0]) / float(gridLines); + const vec3 s2 = (pp[7] - pp[3]) / float(gridLines); + for (int i = 0; i != gridLines; i++, p1 += s1, p2 += s2) + line(p1, p2, gridColor); + } + // right + { + vec3 p1 = pp[1]; + vec3 p2 = pp[2]; + const vec3 s1 = (pp[5] - pp[1]) / float(gridLines); + const vec3 s2 = (pp[6] - pp[2]) / float(gridLines); + for (int i = 0; i != gridLines; i++, p1 += s1, p2 += s2) + line(p1, p2, gridColor); + } +} + +void LineCanvas3D::render(lvk::IContext& ctx, const lvk::Framebuffer& desc, lvk::ICommandBuffer& buf, uint32_t numSamples) +{ + LVK_PROFILER_FUNCTION(); + + if (lines_.empty()) { + return; + } + + const uint32_t requiredSize = lines_.size() * sizeof(LineData); + + if (currentBufferSize_[currentFrame_] < requiredSize) { + linesBuffer_[currentFrame_] = ctx.createBuffer( + { .usage = lvk::BufferUsageBits_Storage, .storage = lvk::StorageType_HostVisible, .size = requiredSize, .data = lines_.data() }); + currentBufferSize_[currentFrame_] = requiredSize; + } else { + ctx.upload(linesBuffer_[currentFrame_], lines_.data(), requiredSize); + } + + if (pipeline_.empty() || pipelineSamples_ != numSamples) { + pipelineSamples_ = numSamples; + + vert_ = ctx.createShaderModule({ codeVS, lvk::Stage_Vert, "Shader Module: imgui (vert)" }); + frag_ = ctx.createShaderModule({ codeFS, lvk::Stage_Frag, "Shader Module: imgui (frag)" }); + pipeline_ = ctx.createRenderPipeline( + { + .topology = lvk::Topology_Line, + .smVert = vert_, + .smFrag = frag_, + .color = { { + .format = ctx.getFormat(desc.color[0].texture), + .blendEnabled = true, + .srcRGBBlendFactor = lvk::BlendFactor_SrcAlpha, + .dstRGBBlendFactor = lvk::BlendFactor_OneMinusSrcAlpha, + } }, + .depthFormat = desc.depthStencil.texture ? ctx.getFormat(desc.depthStencil.texture) : lvk::Format_Invalid, + .cullMode = lvk::CullMode_None, + .samplesCount = numSamples, + }, + nullptr); + } + + struct { + mat4 mvp; + uint64_t addr; + } pc{ + .mvp = mvp_, + .addr = ctx.gpuAddress(linesBuffer_[currentFrame_]), + }; + buf.cmdBindRenderPipeline(pipeline_); + buf.cmdPushConstants(pc); + buf.cmdDraw(lines_.size()); + + currentFrame_ = (currentFrame_ + 1) % LVK_ARRAY_NUM_ELEMENTS(linesBuffer_); +} diff --git a/shared/LineCanvas.h b/shared/LineCanvas.h new file mode 100644 index 0000000..e823eb8 --- /dev/null +++ b/shared/LineCanvas.h @@ -0,0 +1,54 @@ +#pragma once + +#include "shared/VulkanApp.h" + +class LineCanvas2D +{ +public: + void clear() { lines_.clear(); } + void line(const vec2& p1, const vec2& p2, const vec4& c) { lines_.push_back({ .p1 = p1, .p2 = p2, .color = c }); } + void render(const char* nameImGuiWindow); + +private: + struct LineData { + vec2 p1, p2; + vec4 color; + }; + std::vector lines_; +}; + +class LineCanvas3D +{ +public: + void clear() { lines_.clear(); } + void line(const vec3& p1, const vec3& p2, const vec4& c); + void plane( + const vec3& orig, const vec3& v1, const vec3& v2, int n1, int n2, float s1, float s2, const vec4& color, const vec4& outlineColor); + void box(const mat4& m, const BoundingBox& box, const vec4& color); + void box(const mat4& m, const vec3& size, const vec4& color); + void frustum(const mat4& camView, const mat4& camProj, const vec4& color); + + void setMatrix(const mat4& mvp) { mvp_ = mvp; } + void render(lvk::IContext& ctx, const lvk::Framebuffer& desc, lvk::ICommandBuffer& buf, uint32_t numSamples = 1); + +private: + mat4 mvp_ = mat4(1.0f); + + struct LineData { + vec4 pos; + vec4 color; + }; + std::vector lines_; + + lvk::Holder vert_; + lvk::Holder frag_; + lvk::Holder pipeline_; + lvk::Holder linesBuffer_[3] = {}; + + uint32_t pipelineSamples_ = 1; + + uint32_t currentBufferSize_[3] = {}; + uint32_t currentFrame_ = 0; + + static_assert(LVK_ARRAY_NUM_ELEMENTS(linesBuffer_) == LVK_ARRAY_NUM_ELEMENTS(currentBufferSize_)); +}; diff --git a/shared/Scene/MergeUtil.cpp b/shared/Scene/MergeUtil.cpp new file mode 100644 index 0000000..af5d798 --- /dev/null +++ b/shared/Scene/MergeUtil.cpp @@ -0,0 +1,151 @@ +#include "shared/Scene/MergeUtil.h" +#include "shared/Scene/Scene.h" + +#include + +static uint32_t shiftMeshIndices(MeshData& meshData, const std::vector& meshesToMerge) +{ + uint32_t minVtxOffset = std::numeric_limits::max(); + + for (uint32_t i : meshesToMerge) + minVtxOffset = std::min(meshData.meshes[i].vertexOffset, minVtxOffset); + + uint32_t mergeCount = 0u; // calculated by summing index counts in meshesToMerge + + // now shift all the indices in individual index blocks [use minVtxOffset] + for (uint32_t i : meshesToMerge) { + Mesh& m = meshData.meshes[i]; + // for how much should we shift the indices in mesh [m] + const uint32_t delta = m.vertexOffset - minVtxOffset; + const uint32_t idxCount = m.getLODIndicesCount(0); + for (uint32_t ii = 0u; ii < idxCount; ii++) + meshData.indexData[m.indexOffset + ii] += delta; + + m.vertexOffset = minVtxOffset; + + // sum all the deleted meshes' indices + mergeCount += idxCount; + } + + return meshData.indexData.size() - mergeCount; +} + +// All the meshesToMerge now have the same vertexOffset and individual index values are shifted by appropriate amount +// Here we move all the indices to appropriate places in the new index array +static void mergeIndexArray(MeshData& md, const std::vector& meshesToMerge, std::unordered_map& oldToNew) +{ + std::vector newIndices(md.indexData.size()); + // Two offsets in the new indices array (one begins at the start, the second one after all the copied indices) + uint32_t copyOffset = 0; + uint32_t mergeOffset = shiftMeshIndices(md, meshesToMerge); + + const size_t mergedMeshIndex = md.meshes.size() - meshesToMerge.size(); + uint32_t newIndex = 0u; + for (size_t midx = 0u; midx < md.meshes.size(); midx++) { + const bool shouldMerge = std::binary_search(meshesToMerge.begin(), meshesToMerge.end(), midx); + + oldToNew[midx] = shouldMerge ? mergedMeshIndex : newIndex; + newIndex += shouldMerge ? 0 : 1; + + Mesh& mesh = md.meshes[midx]; + const uint32_t idxCount = mesh.getLODIndicesCount(0); + // move all indices to the new array at mergeOffset + const auto start = md.indexData.begin() + mesh.indexOffset; + mesh.indexOffset = copyOffset; + uint32_t* const offsetPtr = shouldMerge ? &mergeOffset : ©Offset; + std::copy(start, start + idxCount, newIndices.begin() + *offsetPtr); + *offsetPtr += idxCount; + } + + md.indexData = newIndices; + + // all the merged indices are now in lastMesh + Mesh lastMesh = md.meshes[meshesToMerge[0]]; + lastMesh.indexOffset = copyOffset; + lastMesh.lodOffset[0] = copyOffset; + lastMesh.lodOffset[1] = mergeOffset; + lastMesh.lodCount = 1; + md.meshes.push_back(lastMesh); +} + +void mergeNodesWithMaterial(Scene& scene, MeshData& meshData, const std::string& materialName) +{ + // Find material index + const int oldMaterial = (int)std::distance( + std::begin(scene.materialNames), std::find(std::begin(scene.materialNames), std::end(scene.materialNames), materialName)); + + std::vector toDelete; + + for (size_t i = 0u; i < scene.hierarchy.size(); i++) + if (scene.meshForNode.contains(i) && scene.materialForNode.contains(i) && (scene.materialForNode.at(i) == oldMaterial)) + toDelete.push_back(i); + + std::vector meshesToMerge(toDelete.size()); + + // Convert toDelete indices to mesh indices + std::transform(toDelete.begin(), toDelete.end(), meshesToMerge.begin(), [&scene](uint32_t i) { return scene.meshForNode.at(i); }); + + // TODO: if merged mesh transforms are non-zero, then we should pre-transform individual mesh vertices in meshData using local transform + + // old-to-new mesh indices + std::unordered_map oldToNew; + + // now move all the meshesToMerge to the end of array + mergeIndexArray(meshData, meshesToMerge, oldToNew); + + // cutoff all but one of the merged meshes (insert the last saved mesh from meshesToMerge - they are all the same) + eraseSelected(meshData.meshes, meshesToMerge); + + for (auto& n : scene.meshForNode) + n.second = oldToNew[n.second]; + + // reattach the node with merged meshes [identity transforms are assumed] + int newNode = addNode(scene, 0, 1); + scene.meshForNode[newNode] = (int)meshData.meshes.size() - 1; + scene.materialForNode[newNode] = (uint32_t)oldMaterial; + + deleteSceneNodes(scene, toDelete); +} + +void mergeMaterialLists( + const std::vector*>& oldMaterials, const std::vector*>& oldTextures, + std::vector& allMaterials, std::vector& newTextures) +{ + // map texture names to indices in newTexturesList (calculated as we fill the newTexturesList) + std::unordered_map newTextureNames; + std::unordered_map materialToTextureList; // use the index of Material in the allMaterials array + + // create a combined material list [no hashing of materials, just straightforward merging of all lists] + for (size_t midx = 0; midx != oldMaterials.size(); midx++) { + for (const Material& m : *oldMaterials[midx]) { + allMaterials.push_back(m); + materialToTextureList[allMaterials.size() - 1] = midx; + } + } + + // create one combined texture list + for (const std::vector* tl : oldTextures) { + for (const std::string& file : *tl) { + newTextureNames[file] = addUnique(newTextures, file); + } + } + + // a lambda to replace textureID by a new "version" (from the global list) + auto replaceTexture = [&materialToTextureList, &oldTextures, &newTextureNames](int mtlId, int* textureID) { + if (*textureID == -1) + return; + + const size_t listIdx = materialToTextureList[mtlId]; + const std::vector& texList = *oldTextures[listIdx]; + const std::string& texFile = texList[*textureID]; + *textureID = newTextureNames[texFile]; + }; + + for (size_t i = 0; i < allMaterials.size(); i++) { + Material& m = allMaterials[i]; + replaceTexture(i, &m.baseColorTexture); + replaceTexture(i, &m.emissiveTexture); + replaceTexture(i, &m.normalTexture); + replaceTexture(i, &m.opacityTexture); + } +} diff --git a/shared/Scene/MergeUtil.h b/shared/Scene/MergeUtil.h new file mode 100644 index 0000000..ab0f226 --- /dev/null +++ b/shared/Scene/MergeUtil.h @@ -0,0 +1,16 @@ +#pragma once + +#include "shared/Scene/Scene.h" +#include "shared/Scene/VtxData.h" + +void mergeNodesWithMaterial(Scene& scene, MeshData& meshData, const std::string& materialName); + +// Merge material lists from multiple scenes (follows the logic of merging in mergeScenes) +void mergeMaterialLists( + // Input: + const std::vector*>& oldMaterials, // all materials + const std::vector*>& oldTextures, // all textures from all material lists + // Output: + std::vector& allMaterials, + std::vector& newTextures // all textures (merged from oldTextures, only unique items) +); diff --git a/shared/Scene/Scene.cpp b/shared/Scene/Scene.cpp new file mode 100644 index 0000000..cbb0ae7 --- /dev/null +++ b/shared/Scene/Scene.cpp @@ -0,0 +1,493 @@ +#include "shared/Scene/Scene.h" +#include "shared/Utils.h" + +#include +#include + +int addNode(Scene &scene, int parent, int level) { + const int node = (int)scene.hierarchy.size(); + { + // TODO: resize aux arrays (local/global etc.) + scene.localTransform.push_back(glm::mat4(1.0f)); + scene.globalTransform.push_back(glm::mat4(1.0f)); + } + scene.hierarchy.push_back({.parent = parent, .lastSibling = -1}); + if (parent > -1) { + // find first item (sibling) + const int s = scene.hierarchy[parent].firstChild; + if (s == -1) { + scene.hierarchy[parent].firstChild = node; + scene.hierarchy[node].lastSibling = node; + } else { + int dest = scene.hierarchy[s].lastSibling; + if (dest <= -1) { + // no cached lastSibling, iterate nextSibling indices + for (dest = s; scene.hierarchy[dest].nextSibling != -1; + dest = scene.hierarchy[dest].nextSibling) + ; + } + scene.hierarchy[dest].nextSibling = node; + scene.hierarchy[s].lastSibling = node; + } + } + scene.hierarchy[node].level = level; + scene.hierarchy[node].nextSibling = -1; + scene.hierarchy[node].firstChild = -1; + return node; +} + +void markAsChanged(Scene &scene, int node) { + const int level = scene.hierarchy[node].level; + scene.changedAtThisFrame[level].push_back(node); + + // TODO: use non-recursive iteration with aux stack + for (int s = scene.hierarchy[node].firstChild; s != -1; + s = scene.hierarchy[s].nextSibling) { + markAsChanged(scene, s); + } +} + +int findNodeByName(const Scene &scene, const std::string &name) { + // Extremely simple linear search without any hierarchy reference + // To support DFS/BFS searches separate traversal routines are needed + + for (size_t i = 0; i < scene.localTransform.size(); i++) + if (scene.nameForNode.contains(i)) { + int strID = scene.nameForNode.at(i); + if (strID > -1) + if (scene.nodeNames[strID] == name) + return (int)i; + } + + return -1; +} + +bool mat4IsIdentity(const glm::mat4 &m); +void fprintfMat4(FILE *f, const glm::mat4 &m); + +// CPU version of global transform update [] +bool recalculateGlobalTransforms(Scene &scene) { + bool wasUpdated = false; + + if (!scene.changedAtThisFrame[0].empty()) { + const int c = scene.changedAtThisFrame[0][0]; + scene.globalTransform[c] = scene.localTransform[c]; + scene.changedAtThisFrame[0].clear(); + wasUpdated = true; + } + + for (int i = 1; i < MAX_NODE_LEVEL; i++) { + for (int c : scene.changedAtThisFrame[i]) { + const int p = scene.hierarchy[c].parent; + scene.globalTransform[c] = + scene.globalTransform[p] * scene.localTransform[c]; + } + wasUpdated |= !scene.changedAtThisFrame[i].empty(); + scene.changedAtThisFrame[i].clear(); + } + + return wasUpdated; +} + +void loadMap(FILE *f, std::unordered_map &map) { + std::vector ms; + + uint32_t sz = 0; + fread(&sz, 1, sizeof(sz), f); + + ms.resize(sz); + fread(ms.data(), sizeof(uint32_t), sz, f); + + for (size_t i = 0; i < (sz / 2); i++) + map[ms[i * 2 + 0]] = ms[i * 2 + 1]; +} + +void loadScene(const char *fileName, Scene &scene) { + FILE *f = fopen(fileName, "rb"); + + if (!f) { + printf("Cannot open scene file '%s'. Please run SceneConverter from " + "Chapter7 and/or MergeMeshes from Chapter 9", + fileName); + return; + } + + uint32_t sz = 0; + fread(&sz, sizeof(sz), 1, f); + + scene.hierarchy.resize(sz); + scene.globalTransform.resize(sz); + scene.localTransform.resize(sz); + // TODO: check > -1 + // TODO: recalculate changedAtThisLevel() - find max depth of a node [or save + // scene.maxLevel] + fread(scene.localTransform.data(), sizeof(glm::mat4), sz, f); + fread(scene.globalTransform.data(), sizeof(glm::mat4), sz, f); + fread(scene.hierarchy.data(), sizeof(Hierarchy), sz, f); + + // Mesh for node [index to some list of buffers] + loadMap(f, scene.materialForNode); + loadMap(f, scene.meshForNode); + + if (!feof(f)) { + loadMap(f, scene.nameForNode); + loadStringList(f, scene.nodeNames); + loadStringList(f, scene.materialNames); + } + + fclose(f); + + markAsChanged(scene, 0); + recalculateGlobalTransforms(scene); +} + +void saveMap(FILE *f, const std::unordered_map &map) { + std::vector ms; + ms.reserve(map.size() * 2); + for (const auto &m : map) { + ms.push_back(m.first); + ms.push_back(m.second); + } + const uint32_t sz = static_cast(ms.size()); + fwrite(&sz, sizeof(sz), 1, f); + fwrite(ms.data(), sizeof(uint32_t), ms.size(), f); +} + +void saveScene(const char *fileName, const Scene &scene) { + FILE *f = fopen(fileName, "wb"); + + const uint32_t sz = (uint32_t)scene.hierarchy.size(); + fwrite(&sz, sizeof(sz), 1, f); + + fwrite(scene.localTransform.data(), sizeof(glm::mat4), sz, f); + fwrite(scene.globalTransform.data(), sizeof(glm::mat4), sz, f); + fwrite(scene.hierarchy.data(), sizeof(Hierarchy), sz, f); + + // Mesh for node [index to some list of buffers] + saveMap(f, scene.materialForNode); + saveMap(f, scene.meshForNode); + + if (!scene.nodeNames.empty() && !scene.nameForNode.empty()) { + saveMap(f, scene.nameForNode); + saveStringList(f, scene.nodeNames); + saveStringList(f, scene.materialNames); + } + fclose(f); +} + +bool mat4IsIdentity(const glm::mat4 &m) { + return (m[0][0] == 1 && m[0][1] == 0 && m[0][2] == 0 && m[0][3] == 0 && + m[1][0] == 0 && m[1][1] == 1 && m[1][2] == 0 && m[1][3] == 0 && + m[2][0] == 0 && m[2][1] == 0 && m[2][2] == 1 && m[2][3] == 0 && + m[3][0] == 0 && m[3][1] == 0 && m[3][2] == 0 && m[3][3] == 1); +} + +void fprintfMat4(FILE *f, const glm::mat4 &m) { + if (mat4IsIdentity(m)) { + fprintf(f, "Identity\n"); + } else { + fprintf(f, "\n"); + for (int i = 0; i < 4; i++) { + for (int j = 0; j < 4; j++) + fprintf(f, "%f ;", m[i][j]); + fprintf(f, "\n"); + } + } +} + +void dumpTransforms(const char *fileName, const Scene &scene) { + FILE *f = fopen(fileName, "a+"); + for (size_t i = 0; i < scene.localTransform.size(); i++) { + fprintf(f, "Node[%d].localTransform: ", (int)i); + fprintfMat4(f, scene.localTransform[i]); + fprintf(f, "Node[%d].globalTransform: ", (int)i); + fprintfMat4(f, scene.globalTransform[i]); + fprintf(f, "Node[%d].globalDet = %f; localDet = %f\n", (int)i, + glm::determinant(scene.globalTransform[i]), + glm::determinant(scene.localTransform[i])); + } + fclose(f); +} + +void printChangedNodes(const Scene &scene) { + for (int i = 0; i < MAX_NODE_LEVEL && (!scene.changedAtThisFrame[i].empty()); + i++) { + printf("Changed at level(%d):\n", i); + + for (const int &c : scene.changedAtThisFrame[i]) { + int p = scene.hierarchy[c].parent; + // scene.globalTransform_[c] = scene.globalTransform_[p] * + // scene.localTransform_[c]; + printf(" Node %d. Parent = %d; LocalTransform: ", c, p); + fprintfMat4(stdout, scene.localTransform[i]); + if (p > -1) { + printf(" ParentGlobalTransform: "); + fprintfMat4(stdout, scene.globalTransform[p]); + } + } + } +} + +// Shift all hierarchy components in the nodes +void shiftNodes(Scene &scene, int startOffset, int nodeCount, int shiftAmount) { + auto shiftNode = [shiftAmount](Hierarchy &node) { + if (node.parent > -1) + node.parent += shiftAmount; + if (node.firstChild > -1) + node.firstChild += shiftAmount; + if (node.nextSibling > -1) + node.nextSibling += shiftAmount; + if (node.lastSibling > -1) + node.lastSibling += shiftAmount; + // node->level does not require to be shifted + }; + + // If there are too many nodes, we can use std::execution::par with + // std::transform: + // std::transform(scene.hierarchy_.begin() + startOffset, + // scene.hierarchy_.begin() + nodeCount, + // scene.hierarchy_.begin() + startOffset, + // shiftNode); + // for (auto i = scene.hierarchy_.begin() + startOffset ; i != + // scene.hierarchy_.begin() + nodeCount ; i++) shiftNode(*i); + + for (int i = 0; i < nodeCount; i++) + shiftNode(scene.hierarchy[i + startOffset]); +} + +using ItemMap = std::unordered_map; + +// Add the items from otherMap shifting indices and values along the way +void mergeMaps(ItemMap &m, const ItemMap &otherMap, int indexOffset, + int itemOffset) { + for (const auto &i : otherMap) + m[i.first + indexOffset] = i.second + itemOffset; +} + +/** + There are different use cases for scene merging. + The simplest one is the direct "gluing" of multiple scenes into one [all the + material lists and mesh lists are merged and indices in all scene nodes are + shifted appropriately] The second one is creating a "grid" of objects (or + scenes) with the same material and mesh sets. For the second use case we need + two flags: 'mergeMeshes' and 'mergeMaterials' to avoid shifting mesh indices +*/ +void mergeScenes(Scene &scene, const std::vector &scenes, + const std::vector &rootTransforms, + const std::vector &meshCounts, bool mergeMeshes, + bool mergeMaterials) { + // Create new root node + scene.hierarchy = {{ + .parent = -1, + .firstChild = 1, + .nextSibling = -1, + .lastSibling = -1, + .level = 0, + }}; + + scene.nameForNode[0] = 0; + scene.nodeNames = {"NewRoot"}; + + scene.localTransform.push_back(glm::mat4(1.f)); + scene.globalTransform.push_back(glm::mat4(1.f)); + + if (scenes.empty()) + return; + + int offs = 1; + int meshOffs = 0; + int nameOffs = (int)scene.nodeNames.size(); + int materialOfs = 0; + auto meshCount = meshCounts.begin(); + + if (!mergeMaterials) + scene.materialNames = scenes[0]->materialNames; + + // FIXME: too much logic (for all the components in a scene, though mesh data + // and materials go separately - they're dedicated data lists) + for (const Scene *s : scenes) { + mergeVectors(scene.localTransform, s->localTransform); + mergeVectors(scene.globalTransform, s->globalTransform); + + mergeVectors(scene.hierarchy, s->hierarchy); + + mergeVectors(scene.nodeNames, s->nodeNames); + if (mergeMaterials) + mergeVectors(scene.materialNames, s->materialNames); + + const int nodeCount = (int)s->hierarchy.size(); + + shiftNodes(scene, offs, nodeCount, offs); + + mergeMaps(scene.meshForNode, s->meshForNode, offs, + mergeMeshes ? meshOffs : 0); + mergeMaps(scene.materialForNode, s->materialForNode, offs, + mergeMaterials ? materialOfs : 0); + mergeMaps(scene.nameForNode, s->nameForNode, offs, nameOffs); + + offs += nodeCount; + + materialOfs += (int)s->materialNames.size(); + nameOffs += (int)s->nodeNames.size(); + + if (mergeMeshes) { + meshOffs += *meshCount; + meshCount++; + } + } + + // fixing 'nextSibling' fields in the old roots (zero-index in all the scenes) + offs = 1; + int idx = 0; + for (const Scene *s : scenes) { + const int nodeCount = (int)s->hierarchy.size(); + const bool isLast = (idx == scenes.size() - 1); + // calculate new next sibling for the old scene roots + const int next = isLast ? -1 : offs + nodeCount; + + scene.hierarchy[offs].nextSibling = next; + // attach to new root + scene.hierarchy[offs].parent = 0; + + // transform old root nodes, if the transforms are given + if (!rootTransforms.empty()) + scene.localTransform[offs] = + rootTransforms[idx] * scene.localTransform[offs]; + + offs += nodeCount; + idx++; + } + + // now, shift levels of all nodes below the root + for (auto i = scene.hierarchy.begin() + 1; i != scene.hierarchy.end(); i++) + i->level++; +} + +void dumpSceneToDot(const char *fileName, const Scene &scene, int *visited) { + FILE *f = fopen(fileName, "w"); + fprintf(f, "digraph G\n{\n"); + for (size_t i = 0; i < scene.globalTransform.size(); i++) { + std::string name = ""; + std::string extra = ""; + if (scene.nameForNode.contains(i)) { + int strID = scene.nameForNode.at(i); + name = scene.nodeNames[strID]; + } + if (visited) { + if (visited[i]) + extra = ", color = red"; + } + fprintf(f, "n%d [label=\"%s\" %s]\n", (int)i, name.c_str(), extra.c_str()); + } + for (size_t i = 0; i < scene.hierarchy.size(); i++) { + int p = scene.hierarchy[i].parent; + if (p > -1) + fprintf(f, "\t n%d -> n%d\n", p, (int)i); + } + fprintf(f, "}\n"); + fclose(f); +} + +// A rather long algorithm (and the auxiliary routines) to delete a number of +// scene nodes from the hierarchy + +// Add an index to a sorted index array +static void addUniqueIdx(std::vector &v, uint32_t index) { + if (!std::binary_search(v.begin(), v.end(), index)) + v.push_back(index); +} + +// Recurse down from a node and collect all nodes which are already marked for +// deletion +static void collectNodesToDelete(const Scene &scene, int node, + std::vector &nodes) { + for (int n = scene.hierarchy[node].firstChild; n != -1; + n = scene.hierarchy[n].nextSibling) { + addUniqueIdx(nodes, n); + collectNodesToDelete(scene, n, nodes); + } +} + +int findLastNonDeletedItem(const Scene &scene, + const std::vector &newIndices, int node) { + // we have to be more subtle: + // if the (newIndices[firstChild_] == -1), we should follow the link and + // extract the last non-removed item + // .. + if (node == -1) + return -1; + + return (newIndices[node] == -1) + ? findLastNonDeletedItem(scene, newIndices, + scene.hierarchy[node].nextSibling) + : newIndices[node]; +} + +void shiftMapIndices(std::unordered_map &items, + const std::vector &newIndices) { + std::unordered_map newItems; + for (const auto &m : items) { + int newIndex = newIndices[m.first]; + if (newIndex != -1) + newItems[newIndex] = m.second; + } + items = newItems; +} + +// Approximately an O ( N * Log(N) * Log(M)) algorithm (N = scene.size, M = +// nodesToDelete.size) to delete a collection of nodes from scene graph +void deleteSceneNodes(Scene &scene, + const std::vector &nodesToDelete) { + // 0) Add all the nodes down below in the hierarchy + auto indicesToDelete = nodesToDelete; + for (uint32_t i : indicesToDelete) + collectNodesToDelete(scene, i, indicesToDelete); + + // aux array with node indices to keep track of the moved ones [moved = + // [](node) { return (node != nodes[node]); ] + std::vector nodes(scene.hierarchy.size()); + std::iota(nodes.begin(), nodes.end(), 0); + + // 1.a) Move all the indicesToDelete to the end of 'nodes' array (and cut them + // off, a variation of swap'n'pop for multiple elements) + const size_t oldSize = nodes.size(); + eraseSelected(nodes, indicesToDelete); + + // 1.b) Make a newIndices[oldIndex] mapping table + std::vector newIndices(oldSize, -1); + for (int i = 0; i < nodes.size(); i++) + newIndices[nodes[i]] = i; + + // 2) Replace all non-null parent/firstChild/nextSibling pointers in all the + // nodes by new positions + auto nodeMover = [&scene, &newIndices](Hierarchy &h) { + return Hierarchy{ + .parent = (h.parent != -1) ? newIndices[h.parent] : -1, + .firstChild = findLastNonDeletedItem(scene, newIndices, h.firstChild), + .nextSibling = findLastNonDeletedItem(scene, newIndices, h.nextSibling), + .lastSibling = findLastNonDeletedItem(scene, newIndices, h.lastSibling), + }; + }; + std::transform(scene.hierarchy.begin(), scene.hierarchy.end(), + scene.hierarchy.begin(), nodeMover); + + // 3) Finally throw away the hierarchy items + eraseSelected(scene.hierarchy, indicesToDelete); + + // 4) As in mergeScenes() routine we also have to adjust all the "components" + // (i.e., meshes, materials, names and transformations) + + // 4a) Transformations are stored in arrays, so we just erase the items as we + // did with the scene.hierarchy_ + eraseSelected(scene.localTransform, indicesToDelete); + eraseSelected(scene.globalTransform, indicesToDelete); + + // 4b) All the maps should change the key values with the newIndices[] array + shiftMapIndices(scene.meshForNode, newIndices); + shiftMapIndices(scene.materialForNode, newIndices); + shiftMapIndices(scene.nameForNode, newIndices); + + // 5) scene node names list is not modified, but in principle it can be + // (remove all non-used items and adjust the nameForNode_ map) 6) Material + // names list is not modified also, but if some materials fell out of use +} diff --git a/shared/Scene/Scene.h b/shared/Scene/Scene.h new file mode 100644 index 0000000..b12c2f4 --- /dev/null +++ b/shared/Scene/Scene.h @@ -0,0 +1,98 @@ +#pragma once + +#include +#include +#include + +#include +#include + +using glm::mat4; + +// we do not define std::vector Children - this is already present in the +// aiNode from assimp + +constexpr const int MAX_NODE_LEVEL = 16; + +struct Hierarchy { + // parent for this node (or -1 for root) + int parent = -1; + // first child for a node (or -1) + int firstChild = -1; + // next sibling for a node (or -1) + int nextSibling = -1; + // last added node (or -1) + int lastSibling = -1; + // cached node level + int level = 0; +}; + +/* This scene is converted into a descriptorSet(s) in MultiRenderer class + This structure is also used as a storage type in SceneExporter tool + */ +struct Scene { + // local transformations for each node and global transforms + // + an array of 'dirty/changed' local transforms + std::vector localTransform; // indexed by node + std::vector globalTransform; // indexed by node + + // list of nodes that need their global transforms recalculated + std::vector changedAtThisFrame[MAX_NODE_LEVEL]; + + // Hierarchy component + std::vector hierarchy; + + // Mesh component: which Mesh belongs to which node (Node -> Mesh) + std::unordered_map meshForNode; + + // Material component: which material belongs to which node (Node -> Material) + std::unordered_map materialForNode; + + // Node name component: which name is assigned to the node (Node -> Name) + std::unordered_map nameForNode; + + // List of scene node names + std::vector nodeNames; + + // Debug list of material names + std::vector materialNames; +}; + +int addNode(Scene &scene, int parent, int level); + +void markAsChanged(Scene &scene, int node); + +int findNodeByName(const Scene &scene, const std::string &name); + +inline std::string getNodeName(const Scene &scene, int node) { + int strID = + scene.nameForNode.contains(node) ? scene.nameForNode.at(node) : -1; + return (strID > -1) ? scene.nodeNames[strID] : std::string(); +} + +inline void setNodeName(Scene &scene, int node, const std::string &name) { + uint32_t stringID = (uint32_t)scene.nodeNames.size(); + scene.nodeNames.push_back(name); + scene.nameForNode[node] = stringID; +} + +int getNodeLevel(const Scene &scene, int n); + +bool recalculateGlobalTransforms(Scene &scene); + +void loadScene(const char *fileName, Scene &scene); +void saveScene(const char *fileName, const Scene &scene); + +void dumpTransforms(const char *fileName, const Scene &scene); +void printChangedNodes(const Scene &scene); + +void dumpSceneToDot(const char *fileName, const Scene &scene, + int *visited = nullptr); + +void mergeScenes(Scene &scene, const std::vector &scenes, + const std::vector &rootTransforms, + const std::vector &meshCounts, + bool mergeMeshes = true, bool mergeMaterials = true); + +// Delete a collection of nodes from a scenegraph +void deleteSceneNodes(Scene &scene, const std::vector &nodesToDelete); diff --git a/shared/Scene/VtxData.cpp b/shared/Scene/VtxData.cpp new file mode 100644 index 0000000..5386fa6 --- /dev/null +++ b/shared/Scene/VtxData.cpp @@ -0,0 +1,342 @@ +#include "shared/Scene/VtxData.h" + +#include +#include +#include + +bool isMeshDataValid(const char* fileName) +{ + FILE* f = fopen(fileName, "rb"); + + if (!f) + return false; + + SCOPE_EXIT + { + fclose(f); + }; + + MeshFileHeader header; + + if (fread(&header, 1, sizeof(header), f) != sizeof(header)) + return false; + + if (fseek(f, sizeof(Mesh) * header.meshCount, SEEK_CUR)) + return false; + + if (fseek(f, sizeof(BoundingBox) * header.meshCount, SEEK_CUR)) + return false; + + if (fseek(f, header.indexDataSize, SEEK_CUR)) + return false; + + if (fseek(f, header.vertexDataSize, SEEK_CUR)) + return false; + + return true; +} + +bool isMeshHierarchyValid(const char* fileName) +{ + FILE* f = fopen(fileName, "rb"); + + if (!f) + return false; + + SCOPE_EXIT + { + fclose(f); + }; + + return true; +} + +bool isMeshMaterialsValid(const char* fileName) +{ + FILE* f = fopen(fileName, "rb"); + + if (!f) + return false; + + SCOPE_EXIT + { + fclose(f); + }; + + uint64_t numMaterials = 0; + uint64_t materialsSize = 0; + + if (fread(&numMaterials, 1, sizeof(numMaterials), f) != sizeof(numMaterials)) + return false; + if (fread(&materialsSize, 1, sizeof(materialsSize), f) != sizeof(materialsSize)) + return false; + if (numMaterials * sizeof(Material) != materialsSize) + return false; + + return true; +} + +MeshFileHeader loadMeshData(const char* meshFile, MeshData& out) +{ + FILE* f = fopen(meshFile, "rb"); + + assert(f); + + if (!f) { + printf("Cannot open '%s'.\n", meshFile); + assert(false); + exit(EXIT_FAILURE); + } + + SCOPE_EXIT + { + fclose(f); + }; + + MeshFileHeader header; + + if (fread(&header, 1, sizeof(header), f) != sizeof(header)) { + printf("Unable to read mesh file header.\n"); + assert(false); + exit(EXIT_FAILURE); + } + + if (fread(&out.streams, 1, sizeof(out.streams), f) != sizeof(out.streams)) { + printf("Unable to read vertex streams description.\n"); + assert(false); + exit(EXIT_FAILURE); + } + + out.meshes.resize(header.meshCount); + if (fread(out.meshes.data(), sizeof(Mesh), header.meshCount, f) != header.meshCount) { + printf("Could not read mesh descriptors.\n"); + assert(false); + exit(EXIT_FAILURE); + } + out.boxes.resize(header.meshCount); + if (fread(out.boxes.data(), sizeof(BoundingBox), header.meshCount, f) != header.meshCount) { + printf("Could not read bounding boxes.\n"); + assert(false); + exit(EXIT_FAILURE); + } + + out.indexData.resize(header.indexDataSize / sizeof(uint32_t)); + out.vertexData.resize(header.vertexDataSize); + + if (fread(out.indexData.data(), 1, header.indexDataSize, f) != header.indexDataSize) { + printf("Unable to read index data.\n"); + assert(false); + exit(EXIT_FAILURE); + } + + if (fread(out.vertexData.data(), 1, header.vertexDataSize, f) != header.vertexDataSize) { + printf("Unable to read vertex data.\n"); + assert(false); + exit(EXIT_FAILURE); + } + + return header; +} + +void loadMeshDataMaterials(const char* fileName, MeshData& out) +{ + FILE* f = fopen(fileName, "rb"); + + if (!f) { + printf("Cannot open '%s'.\n", fileName); + assert(false); + exit(EXIT_FAILURE); + } + + uint64_t numMaterials = 0; + uint64_t materialsSize = 0; + + if (fread(&numMaterials, 1, sizeof(numMaterials), f) != sizeof(numMaterials)) { + printf("Unable to read numMaterials.\n"); + assert(false); + exit(EXIT_FAILURE); + } + if (fread(&materialsSize, 1, sizeof(materialsSize), f) != sizeof(materialsSize)) { + printf("Unable to read materialsSize.\n"); + assert(false); + exit(EXIT_FAILURE); + } + + if (numMaterials * sizeof(Material) != materialsSize) { + printf("Corrupted material file '%s'.\n", fileName); + assert(false); + exit(EXIT_FAILURE); + } + + out.materials.resize(numMaterials); + if (fread(out.materials.data(), 1, materialsSize, f) != materialsSize) { + printf("Unable to read material data.\n"); + assert(false); + exit(EXIT_FAILURE); + } + + loadStringList(f, out.textureFiles); + + fclose(f); +} + +void saveMeshData(const char* fileName, const MeshData& m) +{ + FILE* f = fopen(fileName, "wb"); + + if (!f) { + printf("Error opening file '%s' for writing.\n", fileName); + assert(false); + exit(EXIT_FAILURE); + } + + const MeshFileHeader header = { + .meshCount = (uint32_t)m.meshes.size(), + .indexDataSize = (uint32_t)(m.indexData.size() * sizeof(uint32_t)), + .vertexDataSize = (uint32_t)(m.vertexData.size()), + }; + + fwrite(&header, 1, sizeof(header), f); + fwrite(&m.streams, 1, sizeof(m.streams), f); + fwrite(m.meshes.data(), sizeof(Mesh), header.meshCount, f); + fwrite(m.boxes.data(), sizeof(BoundingBox), header.meshCount, f); + fwrite(m.indexData.data(), 1, header.indexDataSize, f); + fwrite(m.vertexData.data(), 1, header.vertexDataSize, f); + + fclose(f); +} + +void saveMeshDataMaterials(const char* fileName, const MeshData& m) +{ + FILE* f = fopen(fileName, "wb"); + + if (!f) { + printf("Error opening file '%s' for writing.\n", fileName); + assert(false); + exit(EXIT_FAILURE); + } + + const uint64_t numMaterials = m.materials.size(); + const uint64_t materialsSize = m.materials.size() * sizeof(Material); + + fwrite(&numMaterials, 1, sizeof(numMaterials), f); + fwrite(&materialsSize, 1, sizeof(materialsSize), f); + fwrite(m.materials.data(), sizeof(Material), numMaterials, f); + + saveStringList(f, m.textureFiles); + + fclose(f); +} + +void saveBoundingBoxes(const char* fileName, const std::vector& boxes) +{ + FILE* f = fopen(fileName, "wb"); + + if (!f) { + printf("Error opening bounding boxes file '%s' for writing.\n", fileName); + assert(false); + exit(EXIT_FAILURE); + } + + const uint32_t sz = (uint32_t)boxes.size(); + fwrite(&sz, 1, sizeof(sz), f); + fwrite(boxes.data(), sz, sizeof(BoundingBox), f); + + fclose(f); +} + +void loadBoundingBoxes(const char* fileName, std::vector& boxes) +{ + FILE* f = fopen(fileName, "rb"); + + if (!f) { + printf("Error opening bounding boxes file '%s'\n", fileName); + assert(false); + exit(EXIT_FAILURE); + } + + uint32_t sz; + fread(&sz, 1, sizeof(sz), f); + + // TODO: check file size, divide by bounding box size + boxes.resize(sz); + fread(boxes.data(), sz, sizeof(BoundingBox), f); + + fclose(f); +} + +// combine a collection of meshes into a single MeshData container +MeshFileHeader mergeMeshData(MeshData& m, const std::vector md) +{ + uint32_t numTotalVertices = 0; + uint32_t numTotalIndices = 0; + + if (!md.empty()) { + m.streams = md[0]->streams; + } + + const uint32_t vertexSize = m.streams.getVertexSize(); + + uint32_t offset = 0; + uint32_t mtlOffset = 0; + + for (const MeshData* i : md) { + LVK_ASSERT(m.streams == i->streams); + mergeVectors(m.indexData, i->indexData); + mergeVectors(m.vertexData, i->vertexData); + mergeVectors(m.meshes, i->meshes); + mergeVectors(m.boxes, i->boxes); + + for (size_t j = 0; j != i->meshes.size(); j++) { + // m.vertexCount, m.lodCount and m.streamCount do not change + // m.vertexOffset also does not change, because vertex offsets are local (i.e., baked into the indices) + m.meshes[offset + j].indexOffset += numTotalIndices; + m.meshes[offset + j].materialID += mtlOffset; + } + + // shift individual indices + for (size_t j = 0; j != i->indexData.size(); j++) { + m.indexData[numTotalIndices + j] += numTotalVertices; + } + + offset += (uint32_t)i->meshes.size(); + mtlOffset += (uint32_t)i->materials.size(); + + numTotalIndices += (uint32_t)i->indexData.size(); + numTotalVertices += (uint32_t)i->vertexData.size() / vertexSize; + } + + return MeshFileHeader{ + .magicValue = 0x12345678, + .meshCount = (uint32_t)offset, + .indexDataSize = static_cast(numTotalIndices * sizeof(uint32_t)), + .vertexDataSize = static_cast(m.vertexData.size()), + }; +} + +void recalculateBoundingBoxes(MeshData& m) +{ + LVK_ASSERT(m.streams.attributes[0].format == lvk::VertexFormat::Float3); + + const uint32_t stride = m.streams.getVertexSize(); + + m.boxes.clear(); + m.boxes.reserve(m.meshes.size()); + + for (const Mesh& mesh : m.meshes) { + const uint32_t numIndices = mesh.getLODIndicesCount(0); + + glm::vec3 vmin(std::numeric_limits::max()); + glm::vec3 vmax(std::numeric_limits::lowest()); + + for (uint32_t i = 0; i != numIndices; i++) { + const uint32_t vtxOffset = m.indexData[mesh.indexOffset + i] + mesh.vertexOffset; + const float* vf = (const float*)&m.vertexData[vtxOffset * stride]; + + vmin = glm::min(vmin, vec3(vf[0], vf[1], vf[2])); + vmax = glm::max(vmax, vec3(vf[0], vf[1], vf[2])); + } + + m.boxes.emplace_back(vmin, vmax); + } +} diff --git a/shared/Scene/VtxData.h b/shared/Scene/VtxData.h new file mode 100644 index 0000000..1f47b70 --- /dev/null +++ b/shared/Scene/VtxData.h @@ -0,0 +1,111 @@ +#pragma once + +#include + +#include + +#include "shared/Utils.h" +#include "shared/UtilsMath.h" + +constexpr const uint32_t kMaxLODs = 7; + +// All offsets are relative to the beginning of the data block (excluding headers with a Mesh list) +struct Mesh final { + // Number of LODs in this mesh. Strictly less than MAX_LODS, last LOD offset is used as a marker only + uint32_t lodCount = 1; + + // The total count of all previous vertices in this mesh file + uint32_t indexOffset = 0; + + uint32_t vertexOffset = 0; + + // Vertex count (for all LODs) + uint32_t vertexCount = 0; + + // Offsets to LOD indices data. The last offset is used as a marker to calculate the size + uint32_t lodOffset[kMaxLODs + 1] = { 0 }; + + uint32_t materialID = 0; + + inline uint32_t getLODIndicesCount(uint32_t lod) const { return lod < lodCount ? lodOffset[lod + 1] - lodOffset[lod] : 0; } + + // Any additional information, such as mesh name, can be added here... +}; + +struct MeshFileHeader { + // Unique 64-bit value to check integrity of the file + uint32_t magicValue = 0x12345678; + + // Number of mesh descriptors following this header + uint32_t meshCount = 0; + + // How much space index data takes in bytes + uint32_t indexDataSize = 0; + + // How much space vertex data takes in bytes + uint32_t vertexDataSize = 0; + + // According to your needs, you may add additional metadata fields... +}; + +enum MaterialFlags { + sMaterialFlags_CastShadow = 0x1, + sMaterialFlags_ReceiveShadow = 0x2, + sMaterialFlags_Transparent = 0x4, +}; + +struct Material { + vec4 emissiveFactor = vec4(0.0f, 0.0f, 0.0f, 0.0f); + vec4 baseColorFactor = vec4(1.0f, 1.0f, 1.0f, 1.0f); + float roughness = 1.0f; + float transparencyFactor = 1.0f; + float alphaTest = 0.0f; + float metallicFactor = 0.0f; + // index into MeshData::textureFiles + int baseColorTexture = -1; + int emissiveTexture = -1; + int normalTexture = -1; + int opacityTexture = -1; + uint32_t flags = sMaterialFlags_CastShadow | sMaterialFlags_ReceiveShadow; +}; + +struct MeshData { + lvk::VertexInput streams = {}; + std::vector indexData; + std::vector vertexData; + std::vector meshes; + std::vector boxes; + std::vector materials; + std::vector textureFiles; + MeshFileHeader getMeshFileHeader() const + { + return { + .meshCount = (uint32_t)meshes.size(), + .indexDataSize = (uint32_t)(indexData.size() * sizeof(uint32_t)), + .vertexDataSize = (uint32_t)vertexData.size(), + }; + } +}; + +static_assert(sizeof(BoundingBox) == sizeof(float) * 6); + +bool isMeshDataValid(const char* fileName); +bool isMeshMaterialsValid(const char* fileName); +bool isMeshHierarchyValid(const char* fileName); +MeshFileHeader loadMeshData(const char* meshFile, MeshData& out); +void loadMeshDataMaterials(const char* meshFile, MeshData& out); +void saveMeshData(const char* fileName, const MeshData& m); +void saveMeshDataMaterials(const char* fileName, const MeshData& m); + +void recalculateBoundingBoxes(MeshData& m); + +// combine a list of meshes to a single mesh container +MeshFileHeader mergeMeshData(MeshData& m, const std::vector md); + +// use to write values into MeshData::vertexData +template inline void put(std::vector& v, const T& value) +{ + const size_t pos = v.size(); + v.resize(v.size() + sizeof(value)); + memcpy(v.data() + pos, &value, sizeof(value)); +} diff --git a/shared/Tonemap.h b/shared/Tonemap.h new file mode 100644 index 0000000..da313bd --- /dev/null +++ b/shared/Tonemap.h @@ -0,0 +1,63 @@ +#pragma once + +#include +#include + +enum ToneMappingMode { + ToneMapping_None = 0, + ToneMapping_Reinhard = 1, + ToneMapping_Uchimura = 2, + ToneMapping_KhronosPBR = 3, +}; + +// Uchimura 2017, "HDR theory and practice" +// Math: https://www.desmos.com/calculator/gslcdxvipg +// Source: https://www.slideshare.net/nikuque/hdr-theory-and-practicce-jp +float uchimura(float x, float P, float a, float m, float l, float c, float b) +{ + float l0 = ((P - m) * l) / a; + float L0 = m - m / a; + float L1 = m + (1.0f - m) / a; + float S0 = m + l0; + float S1 = m + a * l0; + float C2 = (a * P) / (P - S1); + float CP = -C2 / P; + + float w0 = float(1.0f - glm::smoothstep(0.0f, m, x)); + float w2 = float(glm::step(m + l0, x)); + float w1 = float(1.0f - w0 - w2); + + float T = float(m * pow(x / m, float(c)) + b); + float S = float(P - (P - S1) * exp(CP * (x - S0))); + float L = float(m + a * (x - m)); + + return T * w0 + L * w1 + S * w2; +} + +float reinhard2(float v, float maxWhite) +{ + return v * (1.0f + (v / (maxWhite * maxWhite))) / (1.0f + v); +} + +// Khronos PBR Neutral Tone Mapper +// https://github.com/KhronosGroup/ToneMapping/blob/main/PBR_Neutral/README.md#pbr-neutral-specification +// https://github.com/KhronosGroup/ToneMapping/blob/main/PBR_Neutral/pbrNeutral.glsl +float PBRNeutralToneMapping(float color, float startCompression, float desaturation) +{ + startCompression -= 0.04f; + + float x = color; + float offset = x < 0.08f ? x - 6.25f * x * x : 0.04f; + color -= offset; + + float peak = color; + if (peak < startCompression) + return color; + + const float d = 1. - startCompression; + float newPeak = 1. - d * d / (peak + d - startCompression); + color *= newPeak / peak; + + float g = 1.0f - 1.0f / (desaturation * (peak - newPeak) + 1.0f); + return glm::mix(color, newPeak, g); +} diff --git a/shared/Trackball.h b/shared/Trackball.h new file mode 100644 index 0000000..e9556f8 --- /dev/null +++ b/shared/Trackball.h @@ -0,0 +1,126 @@ +/* + * Copyright (C) 2013-2015 Sergey Kosarevsky (sk@linderdaum.com) + * Copyright (C) 2013-2015 Viktor Latypov (vl@linderdaum.com) + * Based on Linderdaum Engine http://www.linderdaum.com + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must display the names 'Sergey Kosarevsky' and + * 'Viktor Latypov' in the credits of the application, if such credits exist. + * The authors of this work must be notified via email (sk@linderdaum.com) in + * this case of redistribution. + * + * 3. Neither the name of copyright holders nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS + * IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, + * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#pragma once + +#include + +#include +#include + +/// Virtual trackball for user interaction with rotations +class VirtualTrackball +{ +public: + VirtualTrackball() = default; + + /** + Get rotation matrix for new mouse point + **/ + glm::mat4 dragTo(glm::vec2 screenPoint, float speed, bool keyPressed) + { + if (keyPressed && !isDraggingActive_) + { + startDragging(screenPoint); + + isDraggingActive_ = keyPressed; + + return glm::mat4(1.0f); + } + + isDraggingActive_ = keyPressed; + + if (!keyPressed) return glm::mat4(1.0f); + + pointCur_ = projectOnSphere(screenPoint); + + const glm::vec3 direction = pointCur_ - pointPrev_; + const float shift = glm::length(direction); + + glm::mat4 rotMatrix = glm::mat4(1.0f); + + if (shift > std::numeric_limits::epsilon()) + { + const glm::vec3 axis = glm::cross( pointPrev_, pointCur_); + rotMatrix = glm::rotate(glm::mat4(1.0f), shift * speed, axis); + } + + rotationDelta_ = rotMatrix; + + return rotMatrix; + } + + const glm::mat4& getRotationDelta() const + { + return rotationDelta_; + }; + + /** + Get current rotation matrix + **/ + glm::mat4 getRotationMatrix() const + { + return rotation_ * rotationDelta_; + } + +private: + void startDragging(glm::vec2 screenPoint) + { + rotation_ = rotation_ * rotationDelta_; + rotationDelta_ = glm::mat4(1.0f); + pointCur_ = projectOnSphere(screenPoint); + pointPrev_ = pointCur_; + } + + glm::vec3 projectOnSphere(glm::vec2 ScreenPoint) + { + // convert to -1.0...1.0 range + glm::vec3 proj( + +(2.0f * ScreenPoint.x - 1.0f), + -(2.0f * ScreenPoint.y - 1.0f), + 0.0f + ); + + const float Length = std::min(glm::length(proj), 1.0f); + + proj.z = sqrtf(1.001f - Length * Length); + + return glm::normalize(proj); + } + glm::vec3 pointCur_ = glm::vec3(0.0f); + glm::vec3 pointPrev_ = glm::vec3(0.0f); + glm::mat4 rotation_ = glm::mat4(1.0f); + glm::mat4 rotationDelta_ = glm::mat4(1.0f); + bool isDraggingActive_ = false; +}; diff --git a/shared/Utils.cpp b/shared/Utils.cpp new file mode 100644 index 0000000..3da302a --- /dev/null +++ b/shared/Utils.cpp @@ -0,0 +1,286 @@ +#include +#include +#if !defined(__APPLE__) +#include +#endif + +#include "Utils.h" + +#include +#include +#include + +#include + +// lvk::ShaderModuleHandle -> GLSL source code +std::unordered_map debugGLSLSourceCode; + +bool endsWith(const char* s, const char* part) +{ + const size_t sLength = strlen(s); + const size_t partLength = strlen(part); + return sLength < partLength ? false : strcmp(s + sLength - partLength, part) == 0; +} + +std::string readShaderFile(const char* fileName) +{ + FILE* file = fopen(fileName, "r"); + + if (!file) { + LLOGW("I/O error. Cannot open shader file '%s'\n", fileName); + return std::string(); + } + + fseek(file, 0L, SEEK_END); + const size_t bytesinfile = ftell(file); + fseek(file, 0L, SEEK_SET); + + char* buffer = (char*)alloca(bytesinfile + 1); + const size_t bytesread = fread(buffer, 1, bytesinfile, file); + fclose(file); + + buffer[bytesread] = 0; + + static constexpr unsigned char BOM[] = { 0xEF, 0xBB, 0xBF }; + + if (bytesread > 3) { + if (!memcmp(buffer, BOM, 3)) + memset(buffer, ' ', 3); + } + + std::string code(buffer); + + while (code.find("#include ") != code.npos) { + const auto pos = code.find("#include "); + const auto p1 = code.find('<', pos); + const auto p2 = code.find('>', pos); + if (p1 == code.npos || p2 == code.npos || p2 <= p1) { + LLOGW("Error while loading shader program: %s\n", code.c_str()); + return std::string(); + } + const std::string name = code.substr(p1 + 1, p2 - p1 - 1); + const std::string include = readShaderFile(name.c_str()); + code.replace(pos, p2 - pos + 1, include.c_str()); + } + + return code; +} + +VkShaderStageFlagBits vkShaderStageFromFileName(const char* fileName) +{ + if (endsWith(fileName, ".vert")) + return VK_SHADER_STAGE_VERTEX_BIT; + + if (endsWith(fileName, ".frag")) + return VK_SHADER_STAGE_FRAGMENT_BIT; + + if (endsWith(fileName, ".geom")) + return VK_SHADER_STAGE_GEOMETRY_BIT; + + if (endsWith(fileName, ".comp")) + return VK_SHADER_STAGE_COMPUTE_BIT; + + if (endsWith(fileName, ".tesc")) + return VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT; + + if (endsWith(fileName, ".tese")) + return VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT; + + return VK_SHADER_STAGE_VERTEX_BIT; +} + +lvk::ShaderStage lvkShaderStageFromFileName(const char* fileName) +{ + if (endsWith(fileName, ".vert")) + return lvk::Stage_Vert; + + if (endsWith(fileName, ".frag")) + return lvk::Stage_Frag; + + if (endsWith(fileName, ".geom")) + return lvk::Stage_Geom; + + if (endsWith(fileName, ".comp")) + return lvk::Stage_Comp; + + if (endsWith(fileName, ".tesc")) + return lvk::Stage_Tesc; + + if (endsWith(fileName, ".tese")) + return lvk::Stage_Tese; + + return lvk::Stage_Vert; +} + +lvk::Holder loadShaderModule(const std::unique_ptr& ctx, const char* fileName) { + const std::string code = readShaderFile(fileName); + const lvk::ShaderStage stage = lvkShaderStageFromFileName(fileName); + + if (code.empty()) { + return {}; + } + + lvk::Result res; + + lvk::Holder handle = + ctx->createShaderModule({ code.c_str(), stage, (std::string("Shader Module: ") + fileName).c_str() }, &res); + + if (!res.isOk()) { + return {}; + } + + debugGLSLSourceCode[handle.index()] = code; + + return handle; +} + +lvk::Holder loadTexture( + const std::unique_ptr& ctx, const char* fileName, lvk::TextureType textureType, bool sRGB) +{ + const bool isKTX = endsWith(fileName, ".ktx") || endsWith(fileName, ".KTX"); + + lvk::Result result; + + lvk::Holder texture; + + if (isKTX) { + ktxTexture1* ktxTex = nullptr; + + if (!LVK_VERIFY(ktxTexture1_CreateFromNamedFile(fileName, KTX_TEXTURE_CREATE_LOAD_IMAGE_DATA_BIT, &ktxTex) == KTX_SUCCESS)) { + LLOGW("Failed to load %s\n", fileName); + assert(0); + return {}; + } + SCOPE_EXIT + { + ktxTexture_Destroy(ktxTexture(ktxTex)); + }; + + lvk::Result result; + + const lvk::Format format = [](uint32_t glInternalFormat) { + switch (glInternalFormat) { + case GL_COMPRESSED_RGBA_BPTC_UNORM: + return lvk::Format_BC7_RGBA; + case GL_RGBA8: + return lvk::Format_RGBA_UN8; + case GL_RG16F: + return lvk::Format_RG_F16; + case GL_RGBA16F: + return lvk::Format_RGBA_F16; + case GL_RGBA32F: + return lvk::Format_RGBA_F32; + default: + LLOGW("Unsupported pixel format (%u)\n", glInternalFormat); + assert(0); + } + return lvk::Format_Invalid; + }(ktxTex->glInternalformat); + + texture = ctx->createTexture( + { + .type = textureType, + .format = format, + .dimensions = {ktxTex->baseWidth, ktxTex->baseHeight, 1}, + .usage = lvk::TextureUsageBits_Sampled, + .numMipLevels = ktxTex->numLevels, + .data = ktxTex->pData, + .dataNumMipLevels = ktxTex->numLevels, + .debugName = fileName, + }, + fileName, &result); + } else { + LVK_ASSERT(textureType == lvk::TextureType_2D); + + int w, h, comp; + const uint8_t* img = stbi_load(fileName, &w, &h, &comp, 4); + + SCOPE_EXIT + { + if (img) + stbi_image_free((void*)img); + }; + + if (!img) { + printf("Unable to load %s. File not found.\n", fileName); + return {}; + }; + + texture = ctx->createTexture( + { + .type = lvk::TextureType_2D, + .format = sRGB ? lvk::Format_RGBA_SRGB8 : lvk::Format_RGBA_UN8, + .dimensions = {(uint32_t)w, (uint32_t)h}, + .usage = lvk::TextureUsageBits_Sampled, + .data = img, + .debugName = fileName, + }, + fileName, &result); + } + + if (!result.isOk()) { + printf("Unable to load %s. Reason: %s\n", fileName, result.message); + } + + return texture; +} + +void saveStringList(FILE* f, const std::vector& lines) +{ + uint32_t sz = (uint32_t)lines.size(); + fwrite(&sz, sizeof(uint32_t), 1, f); + for (const std::string& s : lines) { + sz = (uint32_t)s.length(); + fwrite(&sz, sizeof(uint32_t), 1, f); + fwrite(s.c_str(), sz + 1, 1, f); + } +} + +void loadStringList(FILE* f, std::vector& lines) +{ + { + uint32_t sz = 0; + fread(&sz, sizeof(uint32_t), 1, f); + lines.resize(sz); + } + std::vector inBytes; + for (std::string& s : lines) { + uint32_t sz = 0; + fread(&sz, sizeof(uint32_t), 1, f); + inBytes.resize(sz + 1); + fread(inBytes.data(), sz + 1, 1, f); + s = std::string(inBytes.data()); + } +} + +int addUnique(std::vector& files, const std::string& file) +{ + if (file.empty()) + return -1; + + const auto i = std::find(std::begin(files), std::end(files), file); + + if (i != files.end()) + return (int)std::distance(files.begin(), i); + + files.push_back(file); + return (int)files.size() - 1; +} + +std::string replaceAll(const std::string& str, const std::string& oldSubStr, const std::string& newSubStr) +{ + std::string result = str; + + for (size_t p = result.find(oldSubStr); p != std::string::npos; p = result.find(oldSubStr)) + result.replace(p, oldSubStr.length(), newSubStr); + + return result; +} + +// Convert 8-bit ASCII string to upper case +std::string lowercaseString(const std::string& s) +{ + std::string out(s.length(), ' '); + std::transform(s.begin(), s.end(), out.begin(), tolower); + return out; +} diff --git a/shared/Utils.h b/shared/Utils.h new file mode 100644 index 0000000..0e40c03 --- /dev/null +++ b/shared/Utils.h @@ -0,0 +1,54 @@ +#pragma once + +#include +#include +#include +#include +#include +#if !defined(__APPLE__) +#include +#endif + +#include +#include +#include +#include + +bool endsWith(const char* s, const char* part); + +std::string readShaderFile(const char* fileName); + +VkShaderStageFlagBits vkShaderStageFromFileName(const char* fileName); + +lvk::Holder loadShaderModule(const std::unique_ptr& ctx, const char* fileName); +lvk::Holder loadTexture( + const std::unique_ptr& ctx, const char* fileName, lvk::TextureType textureType = lvk::TextureType_2D, bool sRGB = false); + +template inline void mergeVectors(std::vector& v1, const std::vector& v2) +{ + v1.insert(v1.end(), v2.begin(), v2.end()); +} + +// From https://stackoverflow.com/a/64152990/1182653 +// Delete a list of items from std::vector with indices in 'selection' +// e.g., eraseSelected({1, 2, 3, 4, 5}, {1, 3}) -> {1, 3, 5} +// ^ ^ 2 and 4 get deleted +template inline void eraseSelected(std::vector& v, const std::vector& selection) +{ + // cut off the elements moved to the end of the vector by std::stable_partition + v.resize(std::distance( + v.begin(), + // std::stable_partition moves any element whose index is in 'selection' to the end + std::stable_partition(v.begin(), v.end(), [&selection, &v](const T& item) { + return !std::binary_search( + selection.begin(), selection.end(), + // std::distance(std::find(v.begin(), v.end(), item), v.begin()) - if you don't like the pointer arithmetic below + static_cast(static_cast(&item) - &v[0])); + }))); +} + +void saveStringList(FILE* f, const std::vector& lines); +void loadStringList(FILE* f, std::vector& lines); +int addUnique(std::vector& files, const std::string& file); +std::string replaceAll(const std::string& str, const std::string& oldSubStr, const std::string& newSubStr); +std::string lowercaseString(const std::string& s); // convert 8-bit ASCII string to upper case diff --git a/shared/UtilsAnim.cpp b/shared/UtilsAnim.cpp new file mode 100644 index 0000000..8a51a21 --- /dev/null +++ b/shared/UtilsAnim.cpp @@ -0,0 +1,319 @@ +#include "UtilsAnim.h" + +#include "UtilsGLTF.h" +#include "VulkanApp.h" +#include +#include +#include +#include +#include +#include + +using glm::quat; + +AnimationChannel initChannel(const aiNodeAnim* anim) +{ + AnimationChannel channel; + channel.pos.resize(anim->mNumPositionKeys); + + for (uint32_t i = 0; i < anim->mNumPositionKeys; ++i) { + channel.pos[i] = { .pos = aiVector3DToVec3(anim->mPositionKeys[i].mValue), .time = (float)anim->mPositionKeys[i].mTime }; + } + + channel.rot.resize(anim->mNumRotationKeys); + for (uint32_t i = 0; i < anim->mNumRotationKeys; ++i) { + channel.rot[i] = { .rot = aiQuaternionToQuat(anim->mRotationKeys[i].mValue), .time = (float)anim->mRotationKeys[i].mTime }; + } + + channel.scale.resize(anim->mNumScalingKeys); + for (uint32_t i = 0; i < anim->mNumScalingKeys; ++i) { + channel.scale[i] = { .scale = aiVector3DToVec3(anim->mScalingKeys[i].mValue), .time = (float)anim->mScalingKeys[i].mTime }; + } + + return channel; +} + +template uint32_t getTimeIndex(const std::vector& t, float time) +{ + return std::max( + 0, + (int)std::distance(t.begin(), std::lower_bound(t.begin(), t.end(), time, [&](const T& lhs, float rhs) { return lhs.time < rhs; })) - + 1); +} + +float interpolationVal(float lastTimeStamp, float nextTimeStamp, float animationTime) +{ + return (animationTime - lastTimeStamp) / (nextTimeStamp - lastTimeStamp); +} + +vec3 interpolatePosition(const AnimationChannel& channel, float time) +{ + if (channel.pos.size() == 1) + return channel.pos[0].pos; + + uint32_t start = getTimeIndex<>(channel.pos, time); + uint32_t end = start + 1; + float mix = interpolationVal(channel.pos[start].time, channel.pos[end].time, time); + return glm::mix(channel.pos[start].pos, channel.pos[end].pos, mix); +} + +glm::quat interpolateRotation(const AnimationChannel& channel, float time) +{ + if (channel.rot.size() == 1) + return channel.rot[0].rot; + + uint32_t start = getTimeIndex<>(channel.rot, time); + uint32_t end = start + 1; + float mix = interpolationVal(channel.rot[start].time, channel.rot[end].time, time); + return glm::slerp(channel.rot[start].rot, channel.rot[end].rot, mix); +} + +vec3 interpolateScaling(const AnimationChannel& channel, float time) +{ + if (channel.scale.size() == 1) + return channel.scale[0].scale; + + uint32_t start = getTimeIndex<>(channel.scale, time); + uint32_t end = start + 1; + float coef = interpolationVal(channel.scale[start].time, channel.scale[end].time, time); + return glm::mix(channel.scale[start].scale, channel.scale[end].scale, coef); +} + +mat4 animationTransform(const AnimationChannel& channel, float time) +{ + mat4 translation = glm::translate(mat4(1.0f), interpolatePosition(channel, time)); + mat4 rotation = glm::toMat4(glm::normalize(interpolateRotation(channel, time))); + mat4 scale = glm::scale(mat4(1.0f), interpolateScaling(channel, time)); + return translation * rotation * scale; +} + +mat4 animationTransformBlending(const AnimationChannel& channel1, float time1, const AnimationChannel& channel2, float time2, float weight) +{ + mat4 trans1 = glm::translate(mat4(1.0f), interpolatePosition(channel1, time1)); + mat4 trans2 = glm::translate(mat4(1.0f), interpolatePosition(channel2, time2)); + mat4 translation = glm::mix(trans1, trans2, weight); + + quat rot1 = interpolateRotation(channel1, time1); + quat rot2 = interpolateRotation(channel2, time2); + + mat4 rotation = glm::toMat4(glm::normalize(glm::slerp(rot1, rot2, weight))); + + vec3 scl1 = interpolateScaling(channel1, time1); + vec3 scl2 = interpolateScaling(channel2, time2); + mat4 scale = glm::scale(mat4(1.0f), glm::mix(scl1, scl2, weight)); + + return translation * rotation * scale; +} + +MorphState morphTransform(const MorphTarget& target, const MorphingChannel& channel, float time) +{ + MorphState ms; + ms.meshId = target.meshId; + + float mix = 0.0f; + int start = 0; + int end = 0; + + if (channel.key.size() > 0) { + start = getTimeIndex(channel.key, time); + end = start + 1; + mix = interpolationVal(channel.key[start].time, channel.key[end].time, time); + } + + for (uint32_t i = 0; i < std::min((uint32_t)target.offset.size(), (uint32_t)MAX_MORPH_WEIGHTS); ++i) { + ms.morphTarget[i] = target.offset[channel.key[start].mesh[i]]; + ms.weights[i] = glm::mix(channel.key[start].weight[i], channel.key[end].weight[i], mix); + } + + return ms; +} + +void initAnimations(GLTFContext& glTF, const aiScene* scene) +{ + glTF.animations.resize(scene->mNumAnimations); + + for (uint32_t i = 0; i < scene->mNumAnimations; ++i) { + Animation& anim = glTF.animations[i]; + anim.name = scene->mAnimations[i]->mName.C_Str(); + anim.duration = scene->mAnimations[i]->mDuration; + anim.ticksPerSecond = scene->mAnimations[i]->mTicksPerSecond; + for (uint32_t c = 0; c < scene->mAnimations[i]->mNumChannels; c++) { + const aiNodeAnim* channel = scene->mAnimations[i]->mChannels[c]; + const char* boneName = channel->mNodeName.data; + uint32_t boneId = glTF.bonesByName[boneName].boneId; + if (boneId == ~0u) { + for (const GLTFNode& node : glTF.nodesStorage) { + if (node.name != boneName) + continue; + boneId = node.modelMtxId; + glTF.bonesByName[boneName] = { + .boneId = boneId, + .transform = glTF.hasBones ? glm::inverse(node.transform) : mat4(1), + }; + break; + } + } + assert(boneId != ~0u); + anim.channels[boneId] = initChannel(channel); + } + + const uint32_t numMorphTargetChannels = scene->mAnimations[i]->mNumMorphMeshChannels; + anim.morphChannels.resize(numMorphTargetChannels); + + for (uint32_t c = 0; c < numMorphTargetChannels; c++) { + const aiMeshMorphAnim* channel = scene->mAnimations[i]->mMorphMeshChannels[c]; + + MorphingChannel& morphChannel = anim.morphChannels[c]; + + morphChannel.name = channel->mName.C_Str(); + morphChannel.key.resize(channel->mNumKeys); + + for (uint32_t k = 0; k < channel->mNumKeys; ++k) { + MorphingChannelKey& key = morphChannel.key[k]; + key.time = channel->mKeys[k].mTime; + for (uint32_t v = 0; v < std::min((uint32_t)MAX_MORPH_WEIGHTS, channel->mKeys[k].mNumValuesAndWeights); ++v) { + key.mesh[v] = channel->mKeys[k].mValues[v]; + key.weight[v] = channel->mKeys[k].mWeights[v]; + } + } + } + } +} + +void updateAnimation(GLTFContext& glTF, AnimationState& anim, float dt) +{ + if (!anim.active || (anim.animId == ~0u)) { + glTF.morphing = false; + glTF.skinning = false; + return; + } + + const Animation& activeAnim = glTF.animations[anim.animId]; + anim.currentTime += activeAnim.ticksPerSecond * dt; + + if (anim.playOnce && anim.currentTime > activeAnim.duration) { + anim.currentTime = activeAnim.duration; + anim.active = false; + } else + anim.currentTime = fmodf(anim.currentTime, activeAnim.duration); + + // Apply animations + std::function traverseTree = [&](GLTFNodeRef gltfNode, + const mat4& parentTransform) { + const GLTFBone& bone = glTF.bonesByName[glTF.nodesStorage[gltfNode].name]; + const uint32_t boneId = bone.boneId; + + if (boneId != ~0u) { + assert(boneId == glTF.nodesStorage[gltfNode].modelMtxId); + auto channel = activeAnim.channels.find(boneId); + const bool hasActiveChannel = channel != activeAnim.channels.end(); + + glTF.matrices[glTF.nodesStorage[gltfNode].modelMtxId] = + parentTransform * + (hasActiveChannel ? animationTransform(channel->second, anim.currentTime) : glTF.nodesStorage[gltfNode].transform); + + glTF.skinning = true; + } else { + glTF.matrices[glTF.nodesStorage[gltfNode].modelMtxId] = parentTransform * glTF.nodesStorage[gltfNode].transform; + } + + for (uint32_t i = 0; i < glTF.nodesStorage[gltfNode].children.size(); i++) { + const GLTFNodeRef child = glTF.nodesStorage[gltfNode].children[i]; + + traverseTree(child, glTF.matrices[glTF.nodesStorage[gltfNode].modelMtxId]); + } + }; + + traverseTree(glTF.root, mat4(1.0f)); + + for (const std::pair& b : glTF.bonesByName) { + if (b.second.boneId != ~0u) { + glTF.matrices[b.second.boneId] = glTF.matrices[b.second.boneId] * b.second.transform; + } + } + + glTF.morphStates.resize(glTF.meshesStorage.size()); + // update morphing + if (glTF.enableMorphing) { + if (!activeAnim.morphChannels.empty()) { + for (size_t i = 0; i < activeAnim.morphChannels.size(); ++i) { + const MorphingChannel& channel = activeAnim.morphChannels[i]; + const uint32_t meshId = glTF.meshesRemap[channel.name]; + const MorphTarget& morphTarget = glTF.morphTargets[meshId]; + + if (morphTarget.meshId != ~0u) { + glTF.morphStates[morphTarget.meshId] = morphTransform(morphTarget, channel, anim.currentTime); + } + } + + glTF.morphing = true; + } + } +} + +void updateAnimationBlending(GLTFContext& glTF, AnimationState& anim1, AnimationState& anim2, float weight, float dt) +{ + if (anim1.active && anim2.active) { + const Animation& activeAnim1 = glTF.animations[anim1.animId]; + anim1.currentTime += activeAnim1.ticksPerSecond * dt; + + if (anim1.playOnce && anim1.currentTime > activeAnim1.duration) { + anim1.currentTime = activeAnim1.duration; + anim1.active = false; + } else { + anim1.currentTime = fmodf(anim1.currentTime, activeAnim1.duration); + } + + const Animation& activeAnim2 = glTF.animations[anim2.animId]; + anim2.currentTime += activeAnim2.ticksPerSecond * dt; + + if (anim2.playOnce && anim2.currentTime > activeAnim2.duration) { + anim2.currentTime = activeAnim2.duration; + anim2.active = false; + } else { + anim2.currentTime = fmodf(anim2.currentTime, activeAnim2.duration); + } + + // Update skinning + std::function traverseTree = [&](GLTFNodeRef gltfNode, + const mat4& parentTransform) { + const GLTFBone& bone = glTF.bonesByName[glTF.nodesStorage[gltfNode].name]; + const uint32_t boneId = bone.boneId; + if (boneId != ~0u) { + auto channel1 = activeAnim1.channels.find(boneId); + auto channel2 = activeAnim2.channels.find(boneId); + + if (channel1 != activeAnim1.channels.end() && channel2 != activeAnim2.channels.end()) { + glTF.matrices[glTF.nodesStorage[gltfNode].modelMtxId] = + parentTransform * + animationTransformBlending(channel1->second, anim1.currentTime, channel2->second, anim2.currentTime, weight); + } else if (channel1 != activeAnim1.channels.end()) { + glTF.matrices[glTF.nodesStorage[gltfNode].modelMtxId] = parentTransform * animationTransform(channel1->second, anim1.currentTime); + } else if (channel2 != activeAnim2.channels.end()) { + glTF.matrices[glTF.nodesStorage[gltfNode].modelMtxId] = parentTransform * animationTransform(channel2->second, anim2.currentTime); + } else { + glTF.matrices[glTF.nodesStorage[gltfNode].modelMtxId] = parentTransform * glTF.nodesStorage[gltfNode].transform; + } + glTF.skinning = true; + } + + for (uint32_t i = 0; i < glTF.nodesStorage[gltfNode].children.size(); i++) { + const uint32_t child = glTF.nodesStorage[gltfNode].children[i]; + + traverseTree(child, glTF.matrices[glTF.nodesStorage[gltfNode].modelMtxId]); + } + }; + + traverseTree(glTF.root, mat4(1.0f)); + + for (const std::pair& b : glTF.bonesByName) { + if (b.second.boneId != ~0u) { + glTF.matrices[b.second.boneId] = glTF.matrices[b.second.boneId] * b.second.transform; + } + } + + } else { + glTF.morphing = false; + glTF.skinning = false; + } +} diff --git a/shared/UtilsAnim.h b/shared/UtilsAnim.h new file mode 100644 index 0000000..d069c84 --- /dev/null +++ b/shared/UtilsAnim.h @@ -0,0 +1,76 @@ +#pragma once + +#include +#include +#include +#include +#include +#include +#include + +using glm::quat; +using glm::vec3; +using glm::vec4; + +struct AnimationKeyPosition { + vec3 pos; + float time; +}; + +struct AnimationKeyRotation { + quat rot; + float time; +}; + +struct AnimationKeyScale { + vec3 scale; + float time; +}; + +struct AnimationChannel { + std::vector pos; + std::vector rot; + std::vector scale; +}; + +#define MAX_MORPH_WEIGHTS 8 +#define MAX_MORPHS 100 + +struct MorphingChannelKey { + float time = 0.0f; + uint32_t mesh[MAX_MORPH_WEIGHTS] = { 0, 0, 0, 0, 0, 0, 0, 0 }; + float weight[MAX_MORPH_WEIGHTS] = { 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f }; +}; + +struct MorphingChannel { + std::string name; + std::vector key; +}; + +struct Animation { + std::unordered_map channels; + std::vector morphChannels; + float duration; // In seconds + float ticksPerSecond; + std::string name; +}; + +struct MorphState { + uint32_t meshId = ~0u; + uint32_t morphTarget[MAX_MORPH_WEIGHTS] = { 0, 0, 0, 0, 0, 0, 0, 0 }; + float weights[MAX_MORPH_WEIGHTS] = { 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f }; +}; + +struct AnimationState { + uint32_t animId = ~0u; + float currentTime = 0.0f; + bool playOnce = false; + bool active = false; +}; + +struct GLTFContext; +struct aiScene; + +void initAnimations(GLTFContext& glTF, const aiScene* scene); +void updateAnimation(GLTFContext& glTF, AnimationState& anim, float dt); +void updateAnimationBlending(GLTFContext& glTF, AnimationState& anim1, AnimationState& anim2, float weight, float dt); diff --git a/shared/UtilsCubemap.cpp b/shared/UtilsCubemap.cpp new file mode 100644 index 0000000..617d4ea --- /dev/null +++ b/shared/UtilsCubemap.cpp @@ -0,0 +1,281 @@ +#include "UtilsMath.h" +#include "UtilsCubemap.h" + +#include +#include +#include + +#include "stb_image_resize2.h" + +using glm::vec2; +using glm::vec3; +using glm::vec4; +using glm::ivec2; + +/// From Henry J. Warren's "Hacker's Delight" +float radicalInverse_VdC(uint32_t bits) +{ + bits = (bits << 16u) | (bits >> 16u); + bits = ((bits & 0x55555555u) << 1u) | ((bits & 0xAAAAAAAAu) >> 1u); + bits = ((bits & 0x33333333u) << 2u) | ((bits & 0xCCCCCCCCu) >> 2u); + bits = ((bits & 0x0F0F0F0Fu) << 4u) | ((bits & 0xF0F0F0F0u) >> 4u); + bits = ((bits & 0x00FF00FFu) << 8u) | ((bits & 0xFF00FF00u) >> 8u); + return float(bits) * 2.3283064365386963e-10f; // / 0x100000000 +} + +// The i-th point is then computed by + +/// From http://holger.dammertz.org/stuff/notes_HammersleyOnHemisphere.html + +vec2 hammersley2d(uint32_t i, uint32_t N) +{ + return vec2(float(i)/float(N), radicalInverse_VdC(i)); +} + +void convolveLambertian(const vec3* data, int srcW, int srcH, int dstW, int dstH, vec3* output, int numMonteCarloSamples) +{ + // only equirectangular maps are supported + assert(srcW == 2 * srcH); + + if (srcW != 2 * srcH) return; + + std::vector tmp(dstW * dstH); + + stbir_resize( + reinterpret_cast(data), srcW, srcH, 0, reinterpret_cast(tmp.data()), dstW, dstH, 0, STBIR_RGB, STBIR_TYPE_FLOAT, + STBIR_EDGE_WRAP, STBIR_FILTER_CUBICBSPLINE); + + const vec3* scratch = tmp.data(); + srcW = dstW; + srcH = dstH; + + for (int y = 0; y != dstH; y++) + { + printf("Line %i...\n", y); + const float theta1 = float(y) / float(dstH) * Math::PI; + for (int x = 0; x != dstW; x++) + { + const float phi1 = float(x) / float(dstW) * Math::TWOPI; + const vec3 V1 = vec3(sin(theta1) * cos(phi1), sin(theta1) * sin(phi1), cos(theta1)); + vec3 color = vec3(0.0f); + float weight = 0.0f; + for (int i = 0; i != numMonteCarloSamples; i++) + { + const vec2 h = hammersley2d(i, numMonteCarloSamples); + const int x1 = int(floor(h.x * srcW)); + const int y1 = int(floor(h.y * srcH)); + const float theta2 = float(y1) / float(srcH) * Math::PI; + const float phi2 = float(x1) / float(srcW) * Math::TWOPI; + const vec3 V2 = vec3(sin(theta2) * cos(phi2), sin(theta2) * sin(phi2), cos(theta2)); + const float D = std::max(0.0f, glm::dot(V1, V2)); + if (D > 0.01f) + { + color += scratch[y1 * srcW + x1] * D; + weight += D; + } + } + output[y * dstW + x] = color / weight; + } + } +} + +void convolveGGX(const vec3* data, int srcW, int srcH, int dstW, int dstH, vec3* output, int numMonteCarloSamples) +{ + // only equirectangular maps are supported + assert(srcW == 2 * srcH); + + if (srcW != 2 * srcH) + return; + + std::vector tmp(dstW * dstH); + + stbir_resize( + reinterpret_cast(data), srcW, srcH, 0, reinterpret_cast(tmp.data()), dstW, dstH, 0, STBIR_RGB, STBIR_TYPE_FLOAT, + STBIR_EDGE_WRAP, STBIR_FILTER_CUBICBSPLINE); + + const vec3* scratch = tmp.data(); + srcW = dstW; + srcH = dstH; + + for (int y = 0; y != dstH; y++) { + printf("Line %i...\n", y); + const float theta1 = float(y) / float(dstH) * Math::PI; + for (int x = 0; x != dstW; x++) { + const float phi1 = float(x) / float(dstW) * Math::TWOPI; + const vec3 V1 = vec3(sin(theta1) * cos(phi1), sin(theta1) * sin(phi1), cos(theta1)); + vec3 color = vec3(0.0f); + float weight = 0.0f; + for (int i = 0; i != numMonteCarloSamples; i++) { + const vec2 h = hammersley2d(i, numMonteCarloSamples); + const int x1 = int(floor(h.x * srcW)); + const int y1 = int(floor(h.y * srcH)); + + + const float theta2 = float(y1) / float(srcH) * Math::PI; + const float phi2 = float(x1) / float(srcW) * Math::TWOPI; + const vec3 V2 = vec3(sin(theta2) * cos(phi2), sin(theta2) * sin(phi2), cos(theta2)); + const float D = std::max(0.0f, glm::dot(V1, V2)); + if (D > 0.01f) { + color += scratch[y1 * srcW + x1] * D; + weight += D; + } + } + output[y * dstW + x] = color / weight; + } + } +} + + +vec3 faceCoordsToXYZ(int i, int j, int faceID, int faceSize) +{ + const float A = 2.0f * float(i) / faceSize; + const float B = 2.0f * float(j) / faceSize; + + if (faceID == 0) return vec3(-1.0f, A - 1.0f, B - 1.0f); + if (faceID == 1) return vec3(A - 1.0f, -1.0f, 1.0f - B); + if (faceID == 2) return vec3(1.0f, A - 1.0f, 1.0f - B); + if (faceID == 3) return vec3(1.0f - A, 1.0f, 1.0f - B); + if (faceID == 4) return vec3(B - 1.0f, A - 1.0f, 1.0f); + if (faceID == 5) return vec3(1.0f - B, A - 1.0f, -1.0f); + + return vec3(); +} + +Bitmap convertEquirectangularMapToVerticalCross(const Bitmap& b) +{ + if (b.type_ != eBitmapType_2D) return Bitmap(); + + const int faceSize = b.w_ / 4; + + const int w = faceSize * 3; + const int h = faceSize * 4; + + Bitmap result(w, h, b.comp_, b.fmt_); + + const ivec2 kFaceOffsets[] = + { + ivec2(faceSize, faceSize * 3), + ivec2(0, faceSize), + ivec2(faceSize, faceSize), + ivec2(faceSize * 2, faceSize), + ivec2(faceSize, 0), + ivec2(faceSize, faceSize * 2) + }; + + const int clampW = b.w_ - 1; + const int clampH = b.h_ - 1; + + for (int face = 0; face != 6; face++) + { + for (int i = 0; i != faceSize; i++) + { + for (int j = 0; j != faceSize; j++) + { + const vec3 P = faceCoordsToXYZ(i, j, face, faceSize); + const float R = hypot(P.x, P.y); + const float theta = atan2(P.y, P.x); + const float phi = atan2(P.z, R); + // float point source coordinates + const float Uf = float(2.0f * faceSize * (theta + M_PI) / M_PI); + const float Vf = float(2.0f * faceSize * (M_PI / 2.0f - phi) / M_PI); + // 4-samples for bilinear interpolation + const int U1 = clamp(int(floor(Uf)), 0, clampW); + const int V1 = clamp(int(floor(Vf)), 0, clampH); + const int U2 = clamp(U1 + 1, 0, clampW); + const int V2 = clamp(V1 + 1, 0, clampH); + // fractional part + const float s = Uf - U1; + const float t = Vf - V1; + // fetch 4-samples + const vec4 A = b.getPixel(U1, V1); + const vec4 B = b.getPixel(U2, V1); + const vec4 C = b.getPixel(U1, V2); + const vec4 D = b.getPixel(U2, V2); + // bilinear interpolation + const vec4 color = A * (1 - s) * (1 - t) + B * (s) * (1 - t) + C * (1 - s) * t + D * (s) * (t); + result.setPixel(i + kFaceOffsets[face].x, j + kFaceOffsets[face].y, color); + } + }; + } + + return result; +} + +Bitmap convertVerticalCrossToCubeMapFaces(const Bitmap& b) +{ + const int faceWidth = b.w_ / 3; + const int faceHeight = b.h_ / 4; + + Bitmap cubemap(faceWidth, faceHeight, 6, b.comp_, b.fmt_); + cubemap.type_ = eBitmapType_Cube; + + const uint8_t* src = b.data_.data(); + uint8_t* dst = cubemap.data_.data(); + + /* + ------ + | +Y | + ---------------- + | -X | -Z | +X | + ---------------- + | -Y | + ------ + | +Z | + ------ + */ + + const int pixelSize = cubemap.comp_ * Bitmap::getBytesPerComponent(cubemap.fmt_); + + for (int face = 0; face != 6; ++face) { + for (int j = 0; j != faceHeight; ++j) { + for (int i = 0; i != faceWidth; ++i) { + int x = 0; + int y = 0; + + switch (face) { + // CUBE_MAP_POSITIVE_X + case 0: + x = 2 * faceWidth + i; + y = 1 * faceHeight + j; + break; + + // CUBE_MAP_NEGATIVE_X + case 1: + x = i; + y = faceHeight + j; + break; + + // CUBE_MAP_POSITIVE_Y + case 2: + x = 1 * faceWidth + i; + y = j; + break; + + // CUBE_MAP_NEGATIVE_Y + case 3: + x = 1 * faceWidth + i; + y = 2 * faceHeight + j; + break; + + // CUBE_MAP_POSITIVE_Z + case 4: + x = faceWidth + i; + y = faceHeight + j; + break; + + // CUBE_MAP_NEGATIVE_Z + case 5: + x = 2 * faceWidth - (i + 1); + y = b.h_ - (j + 1); + break; + } + + memcpy(dst, src + (y * b.w_ + x) * pixelSize, pixelSize); + + dst += pixelSize; + } + } + } + + return cubemap; +} diff --git a/shared/UtilsCubemap.h b/shared/UtilsCubemap.h new file mode 100644 index 0000000..9122ae9 --- /dev/null +++ b/shared/UtilsCubemap.h @@ -0,0 +1,15 @@ +#pragma once + +#include + +#include "shared/Bitmap.h" + +Bitmap convertEquirectangularMapToVerticalCross(const Bitmap& b); +Bitmap convertVerticalCrossToCubeMapFaces(const Bitmap& b); + +inline Bitmap convertEquirectangularMapToCubeMapFaces(const Bitmap& b) { + return convertVerticalCrossToCubeMapFaces(convertEquirectangularMapToVerticalCross(b)); +} + +void convolveLambertian(const glm::vec3* data, int srcW, int srcH, int dstW, int dstH, glm::vec3* output, int numMonteCarloSamples); +void convolveGGX(const glm::vec3* data, int srcW, int srcH, int dstW, int dstH, glm::vec3* output, int numMonteCarloSamples); diff --git a/shared/UtilsFPS.h b/shared/UtilsFPS.h new file mode 100644 index 0000000..7e0dc90 --- /dev/null +++ b/shared/UtilsFPS.h @@ -0,0 +1,43 @@ +#pragma once + +#include +#include + +class FramesPerSecondCounter +{ +public: + explicit FramesPerSecondCounter(float avgInterval = 0.5f) + : avgInterval_(avgInterval) + { + assert(avgInterval > 0.0f); + } + + bool tick(float deltaSeconds, bool frameRendered = true) + { + if (frameRendered) + numFrames_++; + + accumulatedTime_ += deltaSeconds; + + if (accumulatedTime_ > avgInterval_) { + currentFPS_ = static_cast(numFrames_ / accumulatedTime_); + if (printFPS_) + printf("FPS: %.1f\n", currentFPS_); + numFrames_ = 0; + accumulatedTime_ = 0; + return true; + } + + return false; + } + + inline float getFPS() const { return currentFPS_; } + + bool printFPS_ = true; + +public: + float avgInterval_ = 0.5f; + unsigned int numFrames_ = 0; + double accumulatedTime_ = 0; + float currentFPS_ = 0.0f; +}; diff --git a/shared/UtilsGLTF.cpp b/shared/UtilsGLTF.cpp new file mode 100644 index 0000000..79b6436 --- /dev/null +++ b/shared/UtilsGLTF.cpp @@ -0,0 +1,1257 @@ +#include "UtilsGLTF.h" + +bool assignUVandSampler( + const GLTFGlobalSamplers& samplers, const aiMaterial* mtlDescriptor, aiTextureType textureType, uint32_t& uvIndex, + uint32_t& textureSampler, int index) +{ + aiString path; + aiTextureMapMode mapmode[3] = { aiTextureMapMode_Clamp, aiTextureMapMode_Clamp, aiTextureMapMode_Clamp }; + const bool res = mtlDescriptor->GetTexture(textureType, index, &path, 0, &uvIndex, 0, 0, mapmode) == AI_SUCCESS; + switch (mapmode[0]) { + case aiTextureMapMode_Clamp: + textureSampler = samplers.clamp.index(); + break; + case aiTextureMapMode_Wrap: + textureSampler = samplers.wrap.index(); + break; + case aiTextureMapMode_Mirror: + textureSampler = samplers.mirror.index(); + break; + default: + break; + } + return res; +} + +namespace +{ +void loadMaterialTexture( + const aiMaterial* mtlDescriptor, aiTextureType textureType, const char* assetFolder, lvk::Holder& textureHandle, + const std::unique_ptr& ctx, bool sRGB, int index = 0) +{ + if (mtlDescriptor->GetTextureCount(textureType) > 0) { + aiString path; + if (mtlDescriptor->GetTexture(textureType, index, &path) == AI_SUCCESS) { + aiString fullPath(assetFolder); + fullPath.Append(path.C_Str()); + + textureHandle = loadTexture(ctx, fullPath.C_Str(), lvk::TextureType_2D, sRGB); + if (textureHandle.empty()) { + assert(0); + exit(256); + } + } + } +} + +uint32_t getNextMtxId(GLTFContext& gltf, const char* name, uint32_t& nextEmptyId, const mat4& mtx) +{ + const auto it = gltf.bonesByName.find(name); + + const uint32_t mtxId = (it == gltf.bonesByName.end()) ? nextEmptyId++ : it->second.boneId; + + if (gltf.matrices.size() <= mtxId) { + gltf.matrices.resize(mtxId + 1); + } + + gltf.matrices[mtxId] = mtx; + + return mtxId; +} + +} // namespace + +GLTFMaterialDataGPU setupglTFMaterialData( + const std::unique_ptr& ctx, const GLTFGlobalSamplers& samplers, const aiMaterial* mtlDescriptor, const char* assetFolder, + GLTFDataHolder& glTFDataholder, bool& useVolumetric, bool& usedoublesided) +{ + GLTFMaterialTextures mat; + + uint32_t materialTypeFlags = MaterialType_Invalid; + + const uint32_t whitePixel = 0xFFFFFFFF; + + mat.white = ctx->createTexture( + { + .type = lvk::TextureType_2D, + .format = lvk::Format_RGBA_SRGB8, + .dimensions = {1, 1}, + .usage = lvk::TextureUsageBits_Sampled, + .data = &whitePixel, + .debugName = "white1x1", + }, + "white1x1"); + + aiShadingMode shadingMode = aiShadingMode_NoShading; + if (mtlDescriptor->Get(AI_MATKEY_SHADING_MODEL, shadingMode) == AI_SUCCESS) { + if (shadingMode == aiShadingMode_Unlit) { + materialTypeFlags = MaterialType_Unlit; + } + } + + loadMaterialTexture(mtlDescriptor, aiTextureType_BASE_COLOR, assetFolder, mat.baseColorTexture, ctx, true); + loadMaterialTexture(mtlDescriptor, aiTextureType_METALNESS, assetFolder, mat.surfacePropertiesTexture, ctx, false); + + materialTypeFlags = MaterialType_MetallicRoughness; + + // Load common textures + loadMaterialTexture(mtlDescriptor, aiTextureType_LIGHTMAP, assetFolder, mat.occlusionTexture, ctx, false); + loadMaterialTexture(mtlDescriptor, aiTextureType_EMISSIVE, assetFolder, mat.emissiveTexture, ctx, true); + loadMaterialTexture(mtlDescriptor, aiTextureType_NORMALS, assetFolder, mat.normalTexture, ctx, false); + + // Sheen + loadMaterialTexture(mtlDescriptor, aiTextureType_SHEEN, assetFolder, mat.sheenColorTexture, ctx, true, 0); + loadMaterialTexture(mtlDescriptor, aiTextureType_SHEEN, assetFolder, mat.sheenRoughnessTexture, ctx, false, 1); + + // Clearcoat + loadMaterialTexture(mtlDescriptor, aiTextureType_CLEARCOAT, assetFolder, mat.clearCoatTexture, ctx, true, 0); + loadMaterialTexture(mtlDescriptor, aiTextureType_CLEARCOAT, assetFolder, mat.clearCoatRoughnessTexture, ctx, false, 1); + loadMaterialTexture(mtlDescriptor, aiTextureType_CLEARCOAT, assetFolder, mat.clearCoatNormalTexture, ctx, false, 2); + + // Specular + loadMaterialTexture(mtlDescriptor, aiTextureType_SPECULAR, assetFolder, mat.specularTexture, ctx, true, 0); + loadMaterialTexture(mtlDescriptor, aiTextureType_SPECULAR, assetFolder, mat.specularColorTexture, ctx, true, 1); + + // Transmission + loadMaterialTexture(mtlDescriptor, aiTextureType_TRANSMISSION, assetFolder, mat.transmissionTexture, ctx, true, 0); + + // Volume + loadMaterialTexture(mtlDescriptor, aiTextureType_TRANSMISSION, assetFolder, mat.thicknessTexture, ctx, true, 1); + + // Iridescence + // loadMaterialTexture(mtlDescriptor, aiTextureType_IRID, assetFolder, mat.specularTexture, ctx, true, 0); + + // Anisotropy + + GLTFMaterialDataGPU res = { + .baseColorFactor = vec4(1.0f, 1.0f, 1.0f, 1.0f), + .metallicRoughnessNormalOcclusion = vec4(1.0f, 1.0f, 1.0f, 1.0f), + .specularFactors = vec4(1.0f, 1.0f, 1.0f, 1.0f), + .emissiveFactorAlphaCutoff = vec4(0.0f, 0.0f, 0.0f, 0.5f), + .occlusionTexture = mat.occlusionTexture.index(), + .emissiveTexture = mat.emissiveTexture.valid() ? mat.emissiveTexture.index() : mat.white.index(), + .baseColorTexture = mat.baseColorTexture.valid() ? mat.baseColorTexture.index() : mat.white.index(), + .surfacePropertiesTexture = mat.surfacePropertiesTexture.valid() ? mat.surfacePropertiesTexture.index() : mat.white.index(), + .normalTexture = mat.normalTexture.valid() ? mat.normalTexture.index() : ~0, + .sheenColorTexture = mat.sheenColorTexture.valid() ? mat.sheenColorTexture.index() : mat.white.index(), + .sheenRoughnessTexture = mat.sheenRoughnessTexture.valid() ? mat.sheenRoughnessTexture.index() : mat.white.index(), + .clearCoatTexture = mat.clearCoatTexture.valid() ? mat.clearCoatTexture.index() : mat.white.index(), + .clearCoatRoughnessTexture = mat.clearCoatRoughnessTexture.valid() ? mat.clearCoatRoughnessTexture.index() : mat.white.index(), + .clearCoatNormalTexture = mat.clearCoatNormalTexture.valid() ? mat.clearCoatNormalTexture.index() : mat.white.index(), + .specularTexture = mat.specularTexture.valid() ? mat.specularTexture.index() : mat.white.index(), + .specularColorTexture = mat.specularColorTexture.valid() ? mat.specularColorTexture.index() : mat.white.index(), + .transmissionTexture = mat.transmissionTexture.valid() ? mat.transmissionTexture.index() : mat.white.index(), + .thicknessTexture = mat.thicknessTexture.valid() ? mat.thicknessTexture.index() : mat.white.index(), + .iridescenceTexture = mat.iridescenceTexture.index(), + .iridescenceThicknessTexture = mat.iridescenceThicknessTexture.index(), + .anisotropyTexture = mat.anisotropyTexture.index(), + .materialTypeFlags = materialTypeFlags, + }; + + aiColor4D aiColor; + if (mtlDescriptor->Get(AI_MATKEY_COLOR_DIFFUSE, aiColor) == AI_SUCCESS) { + res.baseColorFactor = vec4(aiColor.r, aiColor.g, aiColor.b, aiColor.a); + } + assignUVandSampler(samplers, mtlDescriptor, aiTextureType_DIFFUSE, res.baseColorTextureUV, res.baseColorTextureSampler); + + if (mtlDescriptor->Get(AI_MATKEY_COLOR_EMISSIVE, aiColor) == AI_SUCCESS) { + // mat.emissiveFactor = vec3(aiColor.r, aiColor.g, aiColor.b); + res.emissiveFactorAlphaCutoff = vec4(aiColor.r, aiColor.g, aiColor.b, 0.5f); + } + assignUVandSampler(samplers, mtlDescriptor, aiTextureType_EMISSIVE, res.emissiveTextureUV, res.emissiveTextureSampler); + + ai_real emissiveStrength = 1.0f; + if (mtlDescriptor->Get(AI_MATKEY_EMISSIVE_INTENSITY, emissiveStrength) == AI_SUCCESS) { + res.emissiveFactorAlphaCutoff *= vec4(emissiveStrength, emissiveStrength, emissiveStrength, 1.0f); + } + + if (materialTypeFlags & MaterialType_MetallicRoughness) { + ai_real metallicFactor; + if (mtlDescriptor->Get(AI_MATKEY_METALLIC_FACTOR, metallicFactor) == AI_SUCCESS) { + res.metallicRoughnessNormalOcclusion.x = metallicFactor; + } + assignUVandSampler( + samplers, mtlDescriptor, aiTextureType_METALNESS, res.surfacePropertiesTextureUV, res.surfacePropertiesTextureSampler); + + ai_real roughnessFactor; + if (mtlDescriptor->Get(AI_MATKEY_ROUGHNESS_FACTOR, roughnessFactor) == AI_SUCCESS) { + res.metallicRoughnessNormalOcclusion.y = roughnessFactor; + } + } else if (materialTypeFlags & MaterialType_SpecularGlossiness) { + ai_real specularFactor[3]; + if (mtlDescriptor->Get(AI_MATKEY_SPECULAR_FACTOR, specularFactor) == AI_SUCCESS) { + res.specularGlossiness.x = specularFactor[0]; + res.specularGlossiness.y = specularFactor[1]; + res.specularGlossiness.z = specularFactor[2]; + } + assignUVandSampler( + samplers, mtlDescriptor, aiTextureType_SPECULAR, res.surfacePropertiesTextureUV, res.surfacePropertiesTextureSampler); + + ai_real glossinessFactor; + if (mtlDescriptor->Get(AI_MATKEY_GLOSSINESS_FACTOR, glossinessFactor) == AI_SUCCESS) { + res.specularGlossiness.w = glossinessFactor; + } + } + + ai_real normalScale; + if (mtlDescriptor->Get(AI_MATKEY_GLTF_TEXTURE_SCALE(aiTextureType_NORMALS, 0), normalScale) == AI_SUCCESS) { + res.metallicRoughnessNormalOcclusion.z = normalScale; + } + assignUVandSampler(samplers, mtlDescriptor, aiTextureType_NORMALS, res.normalTextureUV, res.normalTextureSampler); + + ai_real occlusionStrength; + if (mtlDescriptor->Get(AI_MATKEY_GLTF_TEXTURE_SCALE(aiTextureType_LIGHTMAP, 0), occlusionStrength) == AI_SUCCESS) { + res.metallicRoughnessNormalOcclusion.w = occlusionStrength; + } + assignUVandSampler(samplers, mtlDescriptor, aiTextureType_LIGHTMAP, res.occlusionTextureUV, res.occlusionTextureSampler); + + aiString alphaMode = aiString("OPAQUE"); + if (mtlDescriptor->Get(AI_MATKEY_GLTF_ALPHAMODE, alphaMode) == AI_SUCCESS) { + if (alphaMode == aiString("MASK")) { + res.alphaMode = GLTFMaterialDataGPU::AlphaMode_Mask; + } else if (alphaMode == aiString("BLEND")) { + res.alphaMode = GLTFMaterialDataGPU::AlphaMode_Blend; + } else { + res.alphaMode = GLTFMaterialDataGPU::AlphaMode_Opaque; + } + } + + ai_real alphaCutoff; + if (mtlDescriptor->Get(AI_MATKEY_GLTF_ALPHACUTOFF, alphaCutoff) == AI_SUCCESS) { + res.emissiveFactorAlphaCutoff.w = alphaCutoff; + } + + // Extensions + // Sheen + { + bool useSheen = !mat.sheenColorTexture.empty() || !mat.sheenRoughnessTexture.empty(); + aiColor4D sheenColorFactor; + if (mtlDescriptor->Get(AI_MATKEY_SHEEN_COLOR_FACTOR, sheenColorFactor) == AI_SUCCESS) { + res.sheenFactors = vec4(sheenColorFactor.r, sheenColorFactor.g, sheenColorFactor.b, sheenColorFactor.a); + useSheen = true; + } + ai_real sheenRoughnessFactor; + if (mtlDescriptor->Get(AI_MATKEY_SHEEN_ROUGHNESS_FACTOR, sheenRoughnessFactor) == AI_SUCCESS) { + res.sheenFactors.w = sheenRoughnessFactor; + useSheen = true; + } + + if (assignUVandSampler(samplers, mtlDescriptor, aiTextureType_SHEEN, res.sheenColorTextureUV, res.sheenColorTextureSampler, 0)) { + useSheen = true; + } + if (assignUVandSampler( + samplers, mtlDescriptor, aiTextureType_SHEEN, res.sheenRoughnessTextureUV, res.sheenRoughnessTextureSampler, 1)) { + useSheen = true; + } + + if (useSheen) { + res.materialTypeFlags |= MaterialType_Sheen; + } + } + + // Clear coat + { + bool useClearCoat = !mat.clearCoatTexture.empty() || !mat.clearCoatRoughnessTexture.empty() || !mat.clearCoatNormalTexture.empty(); + ai_real clearcoatFactor; + if (mtlDescriptor->Get(AI_MATKEY_CLEARCOAT_FACTOR, clearcoatFactor) == AI_SUCCESS) { + res.clearcoatTransmissionThickness.x = clearcoatFactor; + useClearCoat = true; + } + + ai_real clearcoatRoughnessFactor; + if (mtlDescriptor->Get(AI_MATKEY_CLEARCOAT_ROUGHNESS_FACTOR, clearcoatRoughnessFactor) == AI_SUCCESS) { + res.clearcoatTransmissionThickness.y = clearcoatRoughnessFactor; + useClearCoat = true; + } + + if (assignUVandSampler( + samplers, mtlDescriptor, aiTextureType_CLEARCOAT, res.clearCoatTextureUV, res.clearCoatNormalTextureSampler, 0)) { + useClearCoat = true; + } + + if (assignUVandSampler( + samplers, mtlDescriptor, aiTextureType_CLEARCOAT, res.clearCoatRoughnessTextureUV, res.clearCoatRoughnessTextureSampler, 1)) { + useClearCoat = true; + } + + if (assignUVandSampler( + samplers, mtlDescriptor, aiTextureType_CLEARCOAT, res.clearCoatNormalTextureUV, res.clearCoatNormalTextureSampler, 2)) { + useClearCoat = true; + } + + if (useClearCoat) { + res.materialTypeFlags |= MaterialType_ClearCoat; + } + } + + // Specular + { + bool useSpecular = !mat.specularColorTexture.empty() || !mat.specularTexture.empty(); + + ai_real specularFactor; + if (mtlDescriptor->Get(AI_MATKEY_SPECULAR_FACTOR, specularFactor) == AI_SUCCESS) { + res.specularFactors.w = specularFactor; + useSpecular = true; + } + + assignUVandSampler(samplers, mtlDescriptor, aiTextureType_SPECULAR, res.specularTextureUV, res.specularTextureSampler, 0); + + aiColor4D specularColorFactor; + if (mtlDescriptor->Get(AI_MATKEY_COLOR_SPECULAR, specularColorFactor) == AI_SUCCESS) { + res.specularFactors = vec4(specularColorFactor.r, specularColorFactor.g, specularColorFactor.b, res.specularFactors.w); + useSpecular = true; + } + + assignUVandSampler(samplers, mtlDescriptor, aiTextureType_SPECULAR, res.specularColorTextureUV, res.specularColorTextureSampler, 1); + + if (useSpecular) { + res.materialTypeFlags |= MaterialType_Specular; + } + } + + // Transmission + { + bool useTransmission = !mat.transmissionTexture.empty(); + + ai_real transmissionFactor = 0.0f; + if (mtlDescriptor->Get(AI_MATKEY_TRANSMISSION_FACTOR, transmissionFactor) == AI_SUCCESS) { + res.clearcoatTransmissionThickness.z = transmissionFactor; + useTransmission = true; + } + + if (useTransmission) { + res.materialTypeFlags |= MaterialType_Transmission; + useVolumetric = true; + } + + assignUVandSampler(samplers, mtlDescriptor, aiTextureType_TRANSMISSION, res.transmissionTextureUV, res.transmissionTextureSampler, 0); + } + + { + bool useVolume = !mat.thicknessTexture.empty(); + + ai_real thicknessFactor = 0.0f; + if (mtlDescriptor->Get(AI_MATKEY_VOLUME_THICKNESS_FACTOR, thicknessFactor) == AI_SUCCESS) { + res.clearcoatTransmissionThickness.w = thicknessFactor; + useVolume = true; + } + + ai_real attenuationDistance = 0.0f; + if (mtlDescriptor->Get(AI_MATKEY_VOLUME_ATTENUATION_DISTANCE, attenuationDistance) == AI_SUCCESS) { + res.attenuation.w = attenuationDistance; + useVolume = true; + } + + aiColor4D volumeAttenuationColor; + if (mtlDescriptor->Get(AI_MATKEY_VOLUME_ATTENUATION_COLOR, volumeAttenuationColor) == AI_SUCCESS) { + res.attenuation.x = volumeAttenuationColor.r; + res.attenuation.y = volumeAttenuationColor.g; + res.attenuation.z = volumeAttenuationColor.b; + useVolume = true; + } + + if (useVolume) { + res.materialTypeFlags |= MaterialType_Transmission | MaterialType_Volume; + useVolumetric = true; + } + + assignUVandSampler(samplers, mtlDescriptor, aiTextureType_TRANSMISSION, res.thicknessTextureUV, res.thicknessTextureSampler, 1); + } + + // IOR + ai_real ior; + if (mtlDescriptor->Get(AI_MATKEY_REFRACTI, ior) == AI_SUCCESS) { + res.ior = ior; + } + + // Doublesided + bool ds = false; + if (mtlDescriptor->Get(AI_MATKEY_TWOSIDED, ds) == AI_SUCCESS) { + usedoublesided |= ds; + } + + mat.wasLoaded = true; + + glTFDataholder.textures.push_back(std::move(mat)); + + return res; +} + +static uint32_t getNumVertices(const aiScene& scene) +{ + uint32_t num = 0; + for (uint32_t i = 0; i != scene.mNumMeshes; i++) { + num += scene.mMeshes[i]->mNumVertices; + } + return num; +} + +static uint32_t getNumIndices(const aiScene& scene) +{ + uint32_t num = 0; + for (uint32_t i = 0; i != scene.mNumMeshes; i++) { + for (uint32_t j = 0; j != scene.mMeshes[i]->mNumFaces; j++) { + LVK_ASSERT(scene.mMeshes[i]->mFaces[j].mNumIndices == 3); + num += scene.mMeshes[i]->mFaces[j].mNumIndices; + } + } + return num; +} + +static uint32_t getNumMorphVertices(const aiScene& scene) +{ + uint32_t num = 0; + for (uint32_t i = 0; i != scene.mNumMeshes; i++) { + num += scene.mMeshes[i]->mNumVertices * scene.mMeshes[i]->mNumAnimMeshes; + } + return num; +} + +static uint32_t getNodeId(GLTFContext& gltf, const char* name) +{ + for (uint32_t i = 0; i != gltf.nodesStorage.size(); i++) { + if (gltf.nodesStorage[i].name == name) + return i; + } + return ~0; +} + +void updateLights(GLTFContext& gltf, lvk::ICommandBuffer& buf) +{ + for (LightDataGPU& light : gltf.lights) { + if (light.nodeId == -1) + continue; + light.position = vec3(gltf.matrices[light.nodeId][3]); + light.direction = gltf.matrices[light.nodeId] * vec4(light.direction, 0.0); + } + + LVK_ASSERT(gltf.lights.size() <= kMaxLights); + + buf.cmdUpdateBuffer(gltf.lightsBuffer, 0, gltf.lights.size() * sizeof(LightDataGPU), gltf.lights.data()); +} + +void loadGLTF(GLTFContext& gltf, const char* glTFName, const char* glTFDataPath) +{ + const aiScene* scene = aiImportFile(glTFName, aiProcess_Triangulate); + if (!scene || !scene->HasMeshes()) { + printf("Unable to load %s\n", glTFName); + exit(255); + } + SCOPE_EXIT + { + aiReleaseImport(scene); + }; + + std::vector vertices; + std::vector skinningData; + std::vector indices; + std::vector startVertex; + std::vector startIndex; + + startVertex.push_back(0); + startIndex.push_back(0); + + vertices.reserve(getNumVertices(*scene)); + indices.reserve(getNumIndices(*scene)); + skinningData.resize(getNumVertices(*scene)); + + std::vector morphData; + gltf.morphTargets.resize(scene->mNumMeshes); + morphData.reserve(getNumMorphVertices(*scene)); + + uint32_t numBones = 0; + uint32_t morphTargetsOffset = 0; + uint32_t vertOffset = 0; + + for (uint32_t m = 0; m < scene->mNumMeshes; ++m) { + const aiMesh* mesh = scene->mMeshes[m]; + gltf.meshesRemap[mesh->mName.C_Str()] = m; + + for (uint32_t i = 0; i < mesh->mNumVertices; i++) { + const aiVector3D v = mesh->mVertices[i]; + const aiVector3D n = mesh->mNormals ? mesh->mNormals[i] : aiVector3D(0.0f, 1.0f, 0.0f); + const aiColor4D c = mesh->mColors[0] ? mesh->mColors[0][i] : aiColor4D(1.0f, 1.0f, 1.0f, 1.0f); + const aiVector3D uv0 = mesh->mTextureCoords[0] ? mesh->mTextureCoords[0][i] : aiVector3D(0.0f, 0.0f, 0.0f); + const aiVector3D uv1 = mesh->mTextureCoords[1] ? mesh->mTextureCoords[1][i] : aiVector3D(0.0f, 0.0f, 0.0f); + vertices.push_back({ + .position = vec3(v.x, v.y, v.z), + .normal = vec3(n.x, n.y, n.z), + .color = vec4(c.r, c.g, c.b, c.a), + .uv0 = vec2(uv0.x, 1.0f - uv0.y), + .uv1 = vec2(uv1.x, 1.0f - uv1.y), + }); + + if (mesh->mNumBones == 0) { + auto& vertex = skinningData[vertices.size() - 1]; + vertex.meshId = m; + vertex.position = vec4(v.x, v.y, v.z, 0.0f); + vertex.normal = vec4(n.x, n.y, n.z, 0.0f); + } + } + + startVertex.push_back((uint32_t)vertices.size()); + for (uint32_t i = 0; i < mesh->mNumFaces; i++) { + for (int j = 0; j != 3; j++) { + indices.push_back(mesh->mFaces[i].mIndices[j]); + } + } + startIndex.push_back((uint32_t)indices.size()); + + gltf.hasBones = mesh->mNumBones > 0; + // load bones + for (uint32_t id = 0; id < mesh->mNumBones; id++) { + const aiBone& bone = *mesh->mBones[id]; + const char* boneName = bone.mName.C_Str(); + + const bool hasBone = gltf.bonesByName.contains(boneName); + + const uint32_t boneId = hasBone ? gltf.bonesByName[boneName].boneId : numBones++; + + if (!hasBone) { + gltf.bonesByName[boneName] = { + .boneId = boneId, + .transform = aiMatrix4x4ToMat4(bone.mOffsetMatrix), + }; + } + + for (uint32_t w = 0; w < bone.mNumWeights; w++) { + const uint32_t vertexId = bone.mWeights[w].mVertexId; + assert(vertexId <= vertices.size()); + + VertexBoneData& vtx = skinningData[vertexId + vertOffset]; + assert(vtx.meshId == ~0u || vtx.meshId == m); + + vtx.position = vec4(vertices[vertexId + vertOffset].position, 1.0f); + vtx.normal = vec4(vertices[vertexId + vertOffset].normal, 0.0f); + vtx.meshId = m; + for (uint32_t i = 0; i < MAX_BONES_PER_VERTEX; i++) { + if (vtx.boneId[i] == ~0u) { + vtx.weight[i] = bone.mWeights[w].mWeight; + vtx.boneId[i] = boneId; + break; + } + } + } + } + + vertOffset += mesh->mNumVertices; + } + // load morph targets + for (uint32_t meshId = 0; meshId != scene->mNumMeshes; meshId++) { + const aiMesh* m = scene->mMeshes[meshId]; + + if (!m->mNumAnimMeshes) + continue; + + MorphTarget& morphTarget = gltf.morphTargets[meshId]; + morphTarget.meshId = meshId; + + for (uint32_t a = 0; a < m->mNumAnimMeshes; a++) { + const aiAnimMesh* mesh = m->mAnimMeshes[a]; + + for (uint32_t i = 0; i < mesh->mNumVertices; i++) { + const aiVector3D v = mesh->mVertices[i]; + const aiVector3D n = mesh->mNormals ? mesh->mNormals[i] : aiVector3D(0.0f, 1.0f, 0.0f); + const aiVector3D srcNorm = m->mNormals ? m->mNormals[i] : aiVector3D(0.0f, 1.0f, 0.0f); + const aiColor4D c = mesh->mColors[0] ? mesh->mColors[0][i] : aiColor4D(1.0f, 1.0f, 1.0f, 1.0f); + const aiVector3D uv0 = mesh->mTextureCoords[0] ? mesh->mTextureCoords[0][i] : aiVector3D(0.0f, 0.0f, 0.0f); + const aiVector3D uv1 = mesh->mTextureCoords[1] ? mesh->mTextureCoords[1][i] : aiVector3D(0.0f, 0.0f, 0.0f); + morphData.push_back({ + .position = vec3(v.x - m->mVertices[i].x, v.y - m->mVertices[i].y, v.z - m->mVertices[i].z), + .normal = vec3(n.x - srcNorm.x, n.y - srcNorm.y, n.z - srcNorm.z), + .color = vec4(c.r, c.g, c.b, c.a), + .uv0 = vec2(uv0.x, 1.0f - uv0.y), + .uv1 = vec2(uv1.x, 1.0f - uv1.y), + }); + } + morphTarget.offset.push_back(morphTargetsOffset); + morphTargetsOffset += mesh->mNumVertices; + } + } + + if (!scene->mRootNode) { + printf("Scene has no root node\n"); + exit(255); + } + + auto& ctx = gltf.app.ctx_; + + for (unsigned int mtl = 0; mtl < scene->mNumMaterials; ++mtl) { + const aiMaterial* mtlDescriptor = scene->mMaterials[mtl]; + gltf.matPerFrame.materials[mtl] = setupglTFMaterialData( + ctx, gltf.samplers, mtlDescriptor, glTFDataPath, gltf.glTFDataholder, gltf.isVolumetricMaterial, gltf.doublesided); + gltf.inspector.materials.push_back({ + .name = mtlDescriptor->GetName().C_Str() ? mtlDescriptor->GetName().C_Str() : "Material", + .materialMask = gltf.matPerFrame.materials[mtl].materialTypeFlags, + .currentMaterialMask = gltf.matPerFrame.materials[mtl].materialTypeFlags, + }); + } + + uint32_t nonBoneMtxId = numBones; + + const char* rootName = scene->mRootNode->mName.C_Str() ? scene->mRootNode->mName.C_Str() : "root"; + + gltf.nodesStorage.push_back({ + .name = rootName, + .modelMtxId = getNextMtxId(gltf, rootName, nonBoneMtxId, aiMatrix4x4ToMat4(scene->mRootNode->mTransformation)), + .transform = aiMatrix4x4ToMat4(scene->mRootNode->mTransformation), + }); + + gltf.root = gltf.nodesStorage.size() - 1; + + std::function traverseTree = [&](const aiNode* rootNode, GLTFNodeRef gltfNode) { + for (unsigned int m = 0; m < rootNode->mNumMeshes; ++m) { + const uint32_t meshIdx = rootNode->mMeshes[m]; + const aiMesh* mesh = scene->mMeshes[meshIdx]; + + gltf.meshesStorage.push_back({ + .primitive = lvk::Topology_Triangle, + .vertexOffset = startVertex[meshIdx], + .vertexCount = mesh->mNumVertices, + .indexOffset = startIndex[meshIdx], + .indexCount = mesh->mNumFaces * 3, + .matIdx = mesh->mMaterialIndex, + .sortingType = + gltf.matPerFrame.materials[mesh->mMaterialIndex].alphaMode == GLTFMaterialDataGPU::AlphaMode_Blend ? SortingType_Transparent + : gltf.matPerFrame.materials[mesh->mMaterialIndex].materialTypeFlags & MaterialType_Transmission ? SortingType_Transmission + : SortingType_Opaque, + }); + gltf.nodesStorage[gltfNode].meshes.push_back(gltf.meshesStorage.size() - 1); + } + for (GLTFNodeRef i = 0; i < rootNode->mNumChildren; i++) { + const aiNode* node = rootNode->mChildren[i]; + const char* childName = node->mName.C_Str() ? node->mName.C_Str() : "node"; + const GLTFNode childNode{ + .name = childName, + .modelMtxId = getNextMtxId( + gltf, childName, nonBoneMtxId, + gltf.matrices[gltf.nodesStorage[gltfNode].modelMtxId] * aiMatrix4x4ToMat4(node->mTransformation)), + .transform = aiMatrix4x4ToMat4(node->mTransformation), + }; + gltf.nodesStorage.push_back(childNode); + const size_t nodeIdx = gltf.nodesStorage.size() - 1; + gltf.nodesStorage[gltfNode].children.push_back(nodeIdx); + traverseTree(node, nodeIdx); + } + }; + + traverseTree(scene->mRootNode, gltf.root); + + initAnimations(gltf, scene); + + // add dummy vertices to align buffer to 16 to run compute shader + gltf.maxVertices = (1 + (vertices.size() / 16)) * 16; + vertices.resize(gltf.maxVertices); + + gltf.vertexBuffer = ctx->createBuffer({ + .usage = lvk::BufferUsageBits_Vertex | lvk::BufferUsageBits_Storage, + .storage = lvk::StorageType_Device, + .size = sizeof(Vertex) * vertices.size(), + .data = vertices.data(), + .debugName = "Buffer: vertex", + }); + + size_t vssize = (1 + (skinningData.size() / 16)) * 16; + skinningData.resize(vssize); + + assert(vssize == gltf.maxVertices); + + gltf.vertexSkinningBuffer = ctx->createBuffer({ + .usage = lvk::BufferUsageBits_Vertex | lvk::BufferUsageBits_Storage, + .storage = lvk::StorageType_Device, + .size = sizeof(VertexBoneData) * skinningData.size(), + .data = skinningData.data(), + .debugName = "Buffer: skinning vertex data", + }); + + const bool hasMorphData = !morphData.empty(); + + gltf.vertexMorphingBuffer = ctx->createBuffer({ + .usage = lvk::BufferUsageBits_Vertex | lvk::BufferUsageBits_Storage, + .storage = lvk::StorageType_Device, + .size = hasMorphData ? sizeof(Vertex) * morphData.size() : sizeof(Vertex), // always have dummy buffer + .data = hasMorphData ? morphData.data() : nullptr, + .debugName = "Buffer: morphing vertex data", + }); + + gltf.morphStatesBuffer = gltf.app.ctx_->createBuffer({ + .usage = lvk::BufferUsageBits_Vertex | lvk::BufferUsageBits_Storage, + .storage = lvk::StorageType_HostVisible, + .size = MAX_MORPHS * sizeof(MorphState), + .debugName = "Morphs matrices", + }); + + gltf.indexBuffer = ctx->createBuffer({ + .usage = lvk::BufferUsageBits_Index, + .storage = lvk::StorageType_Device, + .size = sizeof(uint32_t) * indices.size(), + .data = indices.data(), + .debugName = "Buffer: index", + }); + + const lvk::VertexInput vdesc = { + .attributes = { { .location = 0, .format = lvk::VertexFormat::Float3, .offset = 0 }, + { .location = 1, .format = lvk::VertexFormat::Float3, .offset = 12 }, + { .location = 2, .format = lvk::VertexFormat::Float4, .offset = 24 }, + { .location = 3, .format = lvk::VertexFormat::Float2, .offset = 40 }, + { .location = 4, .format = lvk::VertexFormat::Float2, .offset = 48 }, }, + .inputBindings = { { .stride = sizeof(Vertex) } }, + }; + + gltf.vert = loadShaderModule(ctx, "data/shaders/gltf/main.vert"); + gltf.frag = loadShaderModule(ctx, "data/shaders/gltf/main.frag"); + gltf.animation = loadShaderModule(ctx, "data/shaders/gltf/animation.comp"); + + gltf.pipelineSolid = ctx->createRenderPipeline({ + .vertexInput = vdesc, + .smVert = gltf.vert, + .smFrag = gltf.frag, + .color = { { .format = ctx->getSwapchainFormat() } }, + .depthFormat = gltf.app.getDepthFormat(), + .cullMode = gltf.doublesided ? lvk::CullMode_None : lvk::CullMode_Back, + }); + + gltf.pipelineTransparent = ctx->createRenderPipeline({ + .vertexInput = vdesc, + .smVert = gltf.vert, + .smFrag = gltf.frag, + .color = { { + .format = ctx->getSwapchainFormat(), + .blendEnabled = true, + .rgbBlendOp = lvk::BlendOp_Subtract, + .alphaBlendOp = lvk::BlendOp_Subtract, + .srcRGBBlendFactor = lvk::BlendFactor_SrcColor, + .srcAlphaBlendFactor = lvk::BlendFactor_SrcAlpha, + .dstRGBBlendFactor = lvk::BlendFactor_OneMinusDstColor, + .dstAlphaBlendFactor = lvk::BlendFactor_OneMinusDstAlpha, + } }, + .depthFormat = gltf.app.getDepthFormat(), + .cullMode = lvk::CullMode_Back, + }); + + gltf.matBuffer = ctx->createBuffer({ + .usage = lvk::BufferUsageBits_Storage, + .storage = lvk::StorageType_HostVisible, + .size = sizeof(gltf.matPerFrame), + .data = &gltf.matPerFrame, + .debugName = "PerFrame materials", + }); + + const EnvironmentsPerFrame envPerFrame = { + .environments = { { + .envMapTexture = gltf.envMapTextures.envMapTexture.index(), + .envMapTextureSampler = gltf.samplers.clamp.index(), + .envMapTextureIrradiance = gltf.envMapTextures.envMapTextureIrradiance.index(), + .envMapTextureIrradianceSampler = gltf.samplers.clamp.index(), + .lutBRDFTexture = gltf.envMapTextures.texBRDF_LUT.index(), + .lutBRDFTextureSampler = gltf.samplers.clamp.index(), + .envMapTextureCharlie = gltf.envMapTextures.envMapTextureCharlie.index(), + .envMapTextureCharlieSampler = gltf.samplers.clamp.index(), + } }, + }; + + gltf.envBuffer = ctx->createBuffer({ + .usage = lvk::BufferUsageBits_Storage, + .storage = lvk::StorageType_HostVisible, + .size = sizeof(envPerFrame), + .data = &envPerFrame, + .debugName = "PerFrame environments", + }); + + gltf.lightsBuffer = ctx->createBuffer({ + .usage = lvk::BufferUsageBits_Storage, + .storage = lvk::StorageType_HostVisible, + .size = sizeof(LightDataGPU) * kMaxLights, + .debugName = "Lights", + }); + + // Load lights + // Atten = 1/( att0 + att1 * d + att2 * d*d) + { + for (size_t i = 0; i < scene->mNumLights; ++i) { + LightDataGPU ld; + const aiLight* light = scene->mLights[i]; + + ld.color = vec3(light->mColorDiffuse[0], light->mColorDiffuse[1], light->mColorDiffuse[2]); + ld.nodeId = getNodeId(gltf, light->mName.C_Str()); + ld.direction = vec3(light->mDirection[0], light->mDirection[1], light->mDirection[2]); + ld.range = 1000.0f; + + if (light->mType == aiLightSource_POINT) { + ld.type = LightType_Point; + } else if (light->mType == aiLightSource_SPOT) { + ld.type = LightType_Spot; + ld.innerConeCos = light->mAngleInnerCone; + ld.outerConeCos = light->mAngleOuterCone; + } else if (light->mType == aiLightSource_DIRECTIONAL) { + ld.type = LightType_Directional; + } + + gltf.lights.push_back(ld); + } + + if (gltf.lights.empty()) { + gltf.lights.push_back(LightDataGPU()); + } + } + + { + lvk::ICommandBuffer& buf = ctx->acquireCommandBuffer(); + updateLights(gltf, buf); + ctx->submit(buf); + } + + gltf.perFrameBuffer = ctx->createBuffer({ + .usage = lvk::BufferUsageBits_Uniform, + .storage = lvk::StorageType_Device, + .size = sizeof(GLTFFrameData), + .data = &gltf.frameData, + .debugName = "GLTFContext::perFrameBuffer", + }); + + LVK_ASSERT(gltf.pipelineSolid.valid()); + + // Cameras + + gltf.cameras.reserve(scene->mNumCameras); + for (uint32_t c = 0; c < scene->mNumCameras; ++c) { + aiCamera* camera = scene->mCameras[c]; + gltf.cameras.push_back({ .name = camera->mName.C_Str(), + .nodeIdx = getNodeId(gltf, camera->mName.C_Str()), + .pos = aiVector3DToVec3(camera->mPosition), + .up = aiVector3DToVec3(camera->mUp), + .lookAt = aiVector3DToVec3(camera->mUp), + .hFOV = camera->mHorizontalFOV, + .near = camera->mClipPlaneNear, + .far = camera->mClipPlaneFar, + .aspect = camera->mAspect, + .orthoWidth = camera->mOrthographicWidth }); + } +} + +void updateCamera(GLTFContext& gltf, const mat4& model, mat4& view, mat4& proj, float aspectRatio) +{ + if (gltf.inspector.activeCamera == ~0u || gltf.inspector.activeCamera >= gltf.cameras.size()) + return; + + const GLTFCamera& cam = gltf.cameras[gltf.inspector.activeCamera]; + if (cam.nodeIdx == ~0u) + return; + + view = glm::inverse(model * gltf.matrices[cam.nodeIdx]); + proj = cam.getProjection(aspectRatio); +} + +void buildTransformsList(GLTFContext& gltf) +{ + gltf.transforms.clear(); + gltf.opaqueNodes.clear(); + gltf.transmissionNodes.clear(); + gltf.transparentNodes.clear(); + + std::function traverseTree = [&](GLTFNodeRef nodeRef) { + GLTFNode& node = gltf.nodesStorage[nodeRef]; + for (GLTFNodeRef meshId : node.meshes) { + const GLTFMesh& mesh = gltf.meshesStorage[meshId]; + gltf.transforms.push_back({ + .modelMtxId = node.modelMtxId, + .matId = mesh.matIdx, + .nodeRef = nodeRef, + .meshRef = meshId, + .sortingType = mesh.sortingType, + }); + if (mesh.sortingType == SortingType_Transparent) { + gltf.transparentNodes.push_back(gltf.transforms.size() - 1); + } else if (mesh.sortingType == SortingType_Transmission) { + gltf.transmissionNodes.push_back(gltf.transforms.size() - 1); + } else { + gltf.opaqueNodes.push_back(gltf.transforms.size() - 1); + } + } + for (GLTFNodeRef child : node.children) { + traverseTree(child); + } + }; + + traverseTree(gltf.root); + + gltf.transformBuffer = gltf.app.ctx_->createBuffer({ + .usage = lvk::BufferUsageBits_Storage, + .storage = lvk::StorageType_HostVisible, + .size = gltf.transforms.size() * sizeof(GLTFTransforms), + .data = gltf.transforms.data(), + .debugName = "Per Frame data", + }); + + gltf.matricesBuffer = gltf.app.ctx_->createBuffer({ + .usage = lvk::BufferUsageBits_Storage, + .storage = lvk::StorageType_HostVisible, + .size = gltf.matrices.size() * sizeof(mat4), + .data = gltf.matrices.data(), + .debugName = "Node matrices", + }); +} + +void sortTransparentNodes(GLTFContext& gltf, const vec3& cameraPos) +{ + // glTF spec expects to sort based on pivot positions (not sure correct way though) + std::sort(gltf.transparentNodes.begin(), gltf.transparentNodes.end(), [&](uint32_t a, uint32_t b) { + float sqrDistA = glm::length2(cameraPos - vec3(gltf.matrices[gltf.transforms[a].modelMtxId][3])); + float sqrDistB = glm::length2(cameraPos - vec3(gltf.matrices[gltf.transforms[b].modelMtxId][3])); + return sqrDistA < sqrDistB; + }); +} + +void renderGLTF(GLTFContext& gltf, const mat4& model, const mat4& view, const mat4& proj, bool rebuildRenderList) +{ + auto& ctx = gltf.app.ctx_; + + const vec4 camPos = glm::inverse(view)[3]; + + gltf.inspector.animations = animationsGLTF(gltf); + gltf.inspector.cameras = camerasGLTF(gltf); + + if (rebuildRenderList || gltf.transforms.empty()) { + buildTransformsList(gltf); + } + + sortTransparentNodes(gltf, camPos); + + gltf.frameData = { + .model = model, + .view = view, + .proj = proj, + .cameraPos = camPos, + }; + + struct PushConstants { + uint64_t draw; + uint64_t materials; + uint64_t environments; + uint64_t lights; + uint64_t transforms; + uint64_t matrices; + uint32_t envId; + uint32_t transmissionFramebuffer; + uint32_t transmissionFramebufferSampler; + uint32_t lightsCount; + } pushConstants = { + .draw = ctx->gpuAddress(gltf.perFrameBuffer), + .materials = ctx->gpuAddress(gltf.matBuffer), + .environments = ctx->gpuAddress(gltf.envBuffer), + .lights = ctx->gpuAddress(gltf.lightsBuffer), + .transforms = ctx->gpuAddress(gltf.transformBuffer), + .matrices = ctx->gpuAddress(gltf.matricesBuffer), + .envId = 0, + .transmissionFramebuffer = 0, + .transmissionFramebufferSampler = gltf.samplers.clamp.index(), + .lightsCount = (uint32_t)gltf.lights.size(), + }; + + lvk::ICommandBuffer& buf = ctx->acquireCommandBuffer(); + + buf.cmdUpdateBuffer(gltf.perFrameBuffer, gltf.frameData); + + const bool isSizeChanged = ctx->getDimensions(ctx->getCurrentSwapchainTexture()) != ctx->getDimensions(gltf.offscreenTex[0]); + + if (gltf.offscreenTex[0].empty() || isSizeChanged) { + const lvk::Dimensions res = ctx->getDimensions(ctx->getCurrentSwapchainTexture()); + + for (lvk::Holder& holder : gltf.offscreenTex) { + holder = ctx->createTexture({ + .type = lvk::TextureType_2D, + .format = ctx->getSwapchainFormat(), + .dimensions = {res.width, res.height}, + .usage = lvk::TextureUsageBits_Attachment | lvk::TextureUsageBits_Sampled, + .numMipLevels = lvk::calcNumMipLevels(res.width, res.height), + .debugName = "offscreenTex", + }); + } + } + + auto drawUI = [&](lvk::ICommandBuffer& buf, const lvk::Framebuffer& framebuffer) { + if (gltf.inspector.activeCamera == ~0u) + gltf.app.drawGrid(buf, proj, vec3(0, -1.0f, 0)); + else + gltf.app.drawGrid(buf, proj * view, vec3(0, -1.0f, 0), camPos); + + gltf.app.imgui_->beginFrame(framebuffer); + gltf.app.drawFPS(); + gltf.app.drawMemo(); + + gltf.app.drawGTFInspector(gltf.inspector); + + bool uploadMat = false; + for (uint32_t m = 0; m != gltf.inspector.materials.size(); m++) { + if (gltf.inspector.materials[m].modified) { + gltf.inspector.materials[m].modified = false; + uploadMat = true; + gltf.matPerFrame.materials[m].materialTypeFlags = gltf.inspector.materials[m].currentMaterialMask; + } + } + + if (uploadMat) { + ctx->upload(gltf.matBuffer, &gltf.matPerFrame, sizeof(gltf.matPerFrame)); + } + + if (gltf.inspector.activeCamera >= gltf.cameras.size() && !gltf.cameras.empty()) { + gltf.canvas3d.clear(); + gltf.canvas3d.setMatrix(proj * view); + const float windowAspect = ctx->getAspectRatio(framebuffer.color[0].texture); + for (const auto& c : gltf.cameras) { + if (c.nodeIdx == ~0u) + continue; + const mat4 camView = glm::inverse(model * gltf.matrices[c.nodeIdx]); + const mat4 camProj = c.getProjection(windowAspect); + gltf.canvas3d.frustum(camView, camProj, vec4(1, 0, 0, 1)); + gltf.canvas3d.render(*ctx.get(), framebuffer, buf); + } + } + gltf.app.imgui_->endFrame(buf); + }; + + if (gltf.animated) { + buf.cmdUpdateBuffer(gltf.matricesBuffer, 0, gltf.matrices.size() * sizeof(mat4), gltf.matrices.data()); + if (gltf.morphing) { + buf.cmdUpdateBuffer(gltf.morphStatesBuffer, 0, gltf.morphStates.size() * sizeof(MorphState), gltf.morphStates.data()); + } + updateLights(gltf, buf); + + if ((gltf.skinning && gltf.hasBones) || gltf.morphing) { + // Run compute shader to do skinning and morphing + + struct ComputeSetup { + uint64_t matrices; + uint64_t morphStates; + uint64_t morphVertexBuffer; + uint64_t inBuffer; + uint64_t outBuffer; + uint32_t numMorphStates; + } pc = { + .matrices = ctx->gpuAddress(gltf.matricesBuffer), + .morphStates = ctx->gpuAddress(gltf.morphStatesBuffer), + .morphVertexBuffer = ctx->gpuAddress(gltf.vertexMorphingBuffer), + .inBuffer = ctx->gpuAddress(gltf.vertexSkinningBuffer), + .outBuffer = ctx->gpuAddress(gltf.vertexBuffer), + .numMorphStates = static_cast(gltf.morphStates.size()), + }; + buf.cmdBindComputePipeline(gltf.pipelineComputeAnimations); + buf.cmdPushConstants(pc); + // clang-format off + buf.cmdDispatchThreadGroups( + { .width = gltf.maxVertices / 16 }, + { .buffers = { lvk::BufferHandle(gltf.vertexBuffer), + lvk::BufferHandle(gltf.morphStatesBuffer), + lvk::BufferHandle(gltf.matricesBuffer), + lvk::BufferHandle(gltf.vertexSkinningBuffer) } }); + // clang-format on + } + } + + const bool screenCopy = gltf.isScreenCopyRequired(); + + { + // 1st pass + pushConstants.transmissionFramebuffer = 0; + + const lvk::RenderPass renderPass = { + .color = { { .loadOp = lvk::LoadOp_Clear, .clearColor = { 1.0f, 1.0f, 1.0f, 1.0f } } }, + .depth = { .loadOp = lvk::LoadOp_Clear, .clearDepth = 1.0f }, + }; + + const lvk::Framebuffer framebuffer = { + .color = { { .texture = screenCopy ? gltf.offscreenTex[gltf.currentOffscreenTex] : ctx->getCurrentSwapchainTexture() } }, + .depthStencil = { .texture = gltf.app.getDepthTexture() }, + }; + + { + buf.cmdBeginRendering(renderPass, framebuffer, { .buffers = { { lvk::BufferHandle(gltf.vertexBuffer) } } }); + buf.cmdBindVertexBuffer(0, gltf.vertexBuffer, 0); + buf.cmdBindIndexBuffer(gltf.indexBuffer, lvk::IndexFormat_UI32); + + buf.cmdBindDepthState({ .compareOp = lvk::CompareOp_Less, .isDepthWriteEnabled = true }); + + buf.cmdBindRenderPipeline(gltf.pipelineSolid); + buf.cmdPushConstants(pushConstants); + for (uint32_t transformId : gltf.opaqueNodes) { + const GLTFTransforms transform = gltf.transforms[transformId]; + + buf.cmdPushDebugGroupLabel(gltf.nodesStorage[transform.nodeRef].name.c_str(), 0xff0000ff); + const GLTFMesh submesh = gltf.meshesStorage[transform.meshRef]; + buf.cmdDrawIndexed(submesh.indexCount, 1, submesh.indexOffset, submesh.vertexOffset, transformId); + buf.cmdPopDebugGroupLabel(); + } + if (!screenCopy) { + drawUI(buf, framebuffer); + } + buf.cmdEndRendering(); + } + } + + if (!gltf.transmissionNodes.empty() || !gltf.transparentNodes.empty()) { + // 2nd pass + const lvk::RenderPass renderPass = { + .color = { { .loadOp = lvk::LoadOp_Load } }, + .depth = { .loadOp = lvk::LoadOp_Load }, + }; + + const lvk::Framebuffer framebuffer = { + .color = { { .texture = ctx->getCurrentSwapchainTexture() } }, + .depthStencil = { .texture = gltf.app.getDepthTexture() }, + }; + + if (screenCopy) { + buf.cmdCopyImage( + gltf.offscreenTex[gltf.currentOffscreenTex], ctx->getCurrentSwapchainTexture(), + ctx->getDimensions(ctx->getCurrentSwapchainTexture())); + buf.cmdGenerateMipmap(gltf.offscreenTex[gltf.currentOffscreenTex]); + + pushConstants.transmissionFramebuffer = gltf.offscreenTex[gltf.currentOffscreenTex].index(); + buf.cmdPushConstants(pushConstants); + } + + buf.cmdBeginRendering(renderPass, framebuffer, { .textures = { lvk::TextureHandle(gltf.offscreenTex[gltf.currentOffscreenTex]) } }); + buf.cmdBindVertexBuffer(0, gltf.vertexBuffer, 0); + buf.cmdBindIndexBuffer(gltf.indexBuffer, lvk::IndexFormat_UI32); + + buf.cmdBindDepthState({ .compareOp = lvk::CompareOp_Less, .isDepthWriteEnabled = true }); + + // Volumetric opaque + buf.cmdBindRenderPipeline(gltf.pipelineSolid); + buf.cmdPushConstants(pushConstants); + for (uint32_t transformId : gltf.transmissionNodes) { + const GLTFTransforms transform = gltf.transforms[transformId]; + buf.cmdPushDebugGroupLabel(gltf.nodesStorage[transform.nodeRef].name.c_str(), 0x00FF00ff); + const GLTFMesh submesh = gltf.meshesStorage[transform.meshRef]; + buf.cmdDrawIndexed(submesh.indexCount, 1, submesh.indexOffset, submesh.vertexOffset, transformId); + buf.cmdPopDebugGroupLabel(); + } + + // + buf.cmdBindRenderPipeline(gltf.pipelineTransparent); + buf.cmdPushConstants(pushConstants); + for (uint32_t transformId : gltf.transparentNodes) { + const GLTFTransforms transform = gltf.transforms[transformId]; + buf.cmdPushDebugGroupLabel(gltf.nodesStorage[transform.nodeRef].name.c_str(), 0x00FF00ff); + const GLTFMesh submesh = gltf.meshesStorage[transform.meshRef]; + buf.cmdDrawIndexed(submesh.indexCount, 1, submesh.indexOffset, submesh.vertexOffset, transformId); + buf.cmdPopDebugGroupLabel(); + } + + drawUI(buf, framebuffer); + + buf.cmdEndRendering(); + } + + ctx->wait(ctx->submit(buf, ctx->getCurrentSwapchainTexture())); + + gltf.currentOffscreenTex = (gltf.currentOffscreenTex + 1) % LVK_ARRAY_NUM_ELEMENTS(gltf.offscreenTex); +} + +MaterialType detectMaterialType(const aiMaterial* mtl) +{ + aiShadingMode shadingMode = aiShadingMode_NoShading; + + if (mtl->Get(AI_MATKEY_SHADING_MODEL, shadingMode) == AI_SUCCESS) { + if (shadingMode == aiShadingMode_Unlit) { + return MaterialType_Unlit; + } + } + + if (shadingMode == aiShadingMode_PBR_BRDF) { + ai_real factor = 0; + if (mtl->Get(AI_MATKEY_GLOSSINESS_FACTOR, factor) == AI_SUCCESS) { + return MaterialType_SpecularGlossiness; + } else if (mtl->Get(AI_MATKEY_METALLIC_FACTOR, factor) == AI_SUCCESS) { + return MaterialType_MetallicRoughness; + } + } + + LLOGW("Unknown material type\n"); + + return MaterialType_Invalid; +} + +void printPrefix(int ofs) +{ + for (int i = 0; i < ofs; i++) + printf("\t"); +} + +void printMat4(const aiMatrix4x4& m) +{ + if (!m.IsIdentity()) { + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + printf("%f ;", m[i][j]); + } else { + printf(" Identity"); + } +} + +void animateGLTF(GLTFContext& gltf, AnimationState& anim, float dt) +{ + if (gltf.transforms.empty()) + return; + + if (gltf.pipelineComputeAnimations.empty()) { + gltf.pipelineComputeAnimations = gltf.app.ctx_->createComputePipeline({ + .smComp = gltf.animation, + }); + } + + // we support only one single animation at this time + anim.active = anim.animId != ~0; + gltf.animated = anim.active; + if (anim.active) { + updateAnimation(gltf, anim, dt); + } +} + +void animateBlendingGLTF(GLTFContext& gltf, AnimationState& anim1, AnimationState& anim2, float weight, float dt) +{ + if (gltf.transforms.empty()) + return; + + if (gltf.pipelineComputeAnimations.empty()) { + gltf.pipelineComputeAnimations = gltf.app.ctx_->createComputePipeline({ + .smComp = gltf.animation, + }); + } + + anim1.active = anim1.animId != ~0; + anim2.active = anim2.animId != ~0; + gltf.animated = anim1.active || anim2.active; + if (anim1.active && anim2.active) { + updateAnimationBlending(gltf, anim1, anim2, weight, dt); + } else if (anim1.active) { + updateAnimation(gltf, anim1, dt); + } else if (anim2.active) { + updateAnimation(gltf, anim2, dt); + } +} + +std::vector camerasGLTF(GLTFContext& gltf) +{ + std::vector names; + names.reserve(gltf.cameras.size() + 1); + + for (auto c : gltf.cameras) { + names.push_back(c.name); + } + names.push_back("Application cam"); + + return names; +} + +std::vector animationsGLTF(GLTFContext& gltf) +{ + std::vector names; + names.reserve(gltf.animations.size()); + + for (auto c : gltf.animations) { + names.push_back(c.name); + } + + return names; +} diff --git a/shared/UtilsGLTF.h b/shared/UtilsGLTF.h new file mode 100644 index 0000000..89d8210 --- /dev/null +++ b/shared/UtilsGLTF.h @@ -0,0 +1,528 @@ +#pragma once + +#include "VulkanApp.h" + +#include +#include +#include +#include +#include + +#include "LineCanvas.h" +#include "UtilsAnim.h" + +#include + +enum MaterialType : uint32_t { + MaterialType_Invalid = 0, + MaterialType_Unlit = 0x80, + MaterialType_MetallicRoughness = 0x1, + MaterialType_SpecularGlossiness = 0x2, + MaterialType_Sheen = 0x4, + MaterialType_ClearCoat = 0x8, + MaterialType_Specular = 0x10, + MaterialType_Transmission = 0x20, + MaterialType_Volume = 0x40, +}; + +const uint32_t kMaxMaterials = 128; +const uint32_t kMaxEnvironments = 4; +const uint32_t kMaxLights = 8; + +using glm::mat4; +using glm::quat; +using glm::vec2; +using glm::vec3; +using glm::vec4; + +inline mat4 aiMatrix4x4ToMat4(const aiMatrix4x4& from) +{ + mat4 to; + + to[0][0] = (float)from.a1; + to[0][1] = (float)from.b1; + to[0][2] = (float)from.c1; + to[0][3] = (float)from.d1; + to[1][0] = (float)from.a2; + to[1][1] = (float)from.b2; + to[1][2] = (float)from.c2; + to[1][3] = (float)from.d2; + to[2][0] = (float)from.a3; + to[2][1] = (float)from.b3; + to[2][2] = (float)from.c3; + to[2][3] = (float)from.d3; + to[3][0] = (float)from.a4; + to[3][1] = (float)from.b4; + to[3][2] = (float)from.c4; + to[3][3] = (float)from.d4; + + return to; +} + +inline vec3 aiVector3DToVec3(const aiVector3D& from) +{ + return vec3(from.x, from.y, from.z); +} + +inline glm::quat aiQuaternionToQuat(const aiQuaternion& from) +{ + return glm::quat(from.w, from.x, from.y, from.z); +} + +enum LightType : uint32_t { + LightType_Directional = 0, + LightType_Point = 1, + LightType_Spot = 2, +}; + +struct EnvironmentMapDataGPU { + uint32_t envMapTexture = 0; + uint32_t envMapTextureSampler = 0; + uint32_t envMapTextureIrradiance = 0; + uint32_t envMapTextureIrradianceSampler = 0; + + uint32_t lutBRDFTexture = 0; + uint32_t lutBRDFTextureSampler = 0; + + uint32_t envMapTextureCharlie = 0; + uint32_t envMapTextureCharlieSampler = 0; +}; + +struct LightDataGPU { + vec3 direction = vec3(0, 0, 1); + float range = 10000.0; + + vec3 color = vec3(1, 1, 1); + float intensity = 1.0; + + vec3 position = vec3(0, 0, -5); + + float innerConeCos = 0.0; + float outerConeCos = 0.78; + + LightType type = LightType_Directional; + + int nodeId = ~0; + int padding = 0; +}; + +struct GLTFGlobalSamplers { + explicit GLTFGlobalSamplers(const std::unique_ptr& ctx) + { + clamp = ctx->createSampler({ + .minFilter = lvk::SamplerFilter::SamplerFilter_Linear, + .magFilter = lvk::SamplerFilter::SamplerFilter_Linear, + .mipMap = lvk::SamplerMip::SamplerMip_Linear, + .wrapU = lvk::SamplerWrap::SamplerWrap_Clamp, + .wrapV = lvk::SamplerWrap::SamplerWrap_Clamp, + .wrapW = lvk::SamplerWrap::SamplerWrap_Clamp, + .debugName = "Clamp Sampler", + }); + + wrap = ctx->createSampler({ + .minFilter = lvk::SamplerFilter::SamplerFilter_Linear, + .magFilter = lvk::SamplerFilter::SamplerFilter_Linear, + .mipMap = lvk::SamplerMip::SamplerMip_Linear, + .wrapU = lvk::SamplerWrap::SamplerWrap_Repeat, + .wrapV = lvk::SamplerWrap::SamplerWrap_Repeat, + .wrapW = lvk::SamplerWrap::SamplerWrap_Repeat, + .debugName = "Wrap Sampler", + }); + + mirror = ctx->createSampler({ + .minFilter = lvk::SamplerFilter::SamplerFilter_Linear, + .magFilter = lvk::SamplerFilter::SamplerFilter_Linear, + .mipMap = lvk::SamplerMip::SamplerMip_Linear, + .wrapU = lvk::SamplerWrap::SamplerWrap_MirrorRepeat, + .wrapV = lvk::SamplerWrap::SamplerWrap_MirrorRepeat, + .debugName = "Mirror Sampler", + }); + } + + lvk::Holder clamp; + lvk::Holder wrap; + lvk::Holder mirror; +}; + +struct EnvironmentsPerFrame { + EnvironmentMapDataGPU environments[kMaxEnvironments]; +}; + +struct Vertex { + vec3 position; + vec3 normal; + vec4 color; + vec2 uv0; + vec2 uv1; + float padding[2]; +}; + +struct MorphTarget { + uint32_t meshId = ~0; + std::vector offset; +}; + +static_assert(sizeof(Vertex) == sizeof(uint32_t) * 16); + +struct GLTFMaterialTextures { + // Metallic Roughness / SpecluarGlossiness + lvk::Holder baseColorTexture; + lvk::Holder surfacePropertiesTexture; + + // Common properties + lvk::Holder normalTexture; + lvk::Holder occlusionTexture; + lvk::Holder emissiveTexture; + + // Sheen + lvk::Holder sheenColorTexture; + lvk::Holder sheenRoughnessTexture; + + // Clearcoat + lvk::Holder clearCoatTexture; + lvk::Holder clearCoatRoughnessTexture; + lvk::Holder clearCoatNormalTexture; + + // Specular + lvk::Holder specularTexture; + lvk::Holder specularColorTexture; + + // Transmission + lvk::Holder transmissionTexture; + + // Volumen + lvk::Holder thicknessTexture; + + // Iridescence + lvk::Holder iridescenceTexture; + lvk::Holder iridescenceThicknessTexture; + + // Anisotropy + lvk::Holder anisotropyTexture; + + lvk::Holder white; + + bool wasLoaded = false; +}; + +struct EnvironmentMapTextures { + explicit EnvironmentMapTextures(const std::unique_ptr& ctx) + : EnvironmentMapTextures( + ctx, "data/brdfLUT.ktx", "data/piazza_bologni_1k_prefilter.ktx", "data/piazza_bologni_1k_irradiance.ktx", + "data/piazza_bologni_1k_charlie.ktx") + { + } + + EnvironmentMapTextures( + const std::unique_ptr& ctx, const char* brdfLUT, const char* prefilter, const char* irradiance, + const char* prefilterCharlie = nullptr) + { + texBRDF_LUT = loadTexture(ctx, brdfLUT, lvk::TextureType_2D); + if (texBRDF_LUT.empty()) { + assert(0); + exit(255); + } + + envMapTexture = loadTexture(ctx, prefilter, lvk::TextureType_Cube); + if (envMapTexture.empty()) { + assert(0); + exit(255); + } + + envMapTextureIrradiance = loadTexture(ctx, irradiance, lvk::TextureType_Cube); + if (envMapTextureIrradiance.empty()) { + assert(0); + exit(255); + } + + if (prefilterCharlie) { + envMapTextureCharlie = loadTexture(ctx, prefilterCharlie, lvk::TextureType_Cube); + if (envMapTextureCharlie.empty()) { + assert(0); + exit(255); + } + } + } + + lvk::Holder texBRDF_LUT; + lvk::Holder envMapTexture; + lvk::Holder envMapTextureCharlie; + lvk::Holder envMapTextureIrradiance; +}; + +bool assignUVandSampler( + const GLTFGlobalSamplers& samplers, const aiMaterial* mtlDescriptor, aiTextureType textureType, uint32_t& uvIndex, + uint32_t& textureSampler, int index = 0); + +struct GLTFMaterialDataGPU { + vec4 baseColorFactor = vec4(1.0f, 1.0f, 1.0f, 1.0f); + vec4 metallicRoughnessNormalOcclusion = + vec4(1.0f, 1.0f, 1.0f, 1.0f); // Packed metallicFactor, roughnessFactor, normalScale, occlusionStrength + vec4 specularGlossiness = vec4(1.0f, 1.0f, 1.0f, 1.0f); + vec4 sheenFactors = vec4(1.0f, 1.0f, 1.0f, 1.0f); // Sheen + + vec4 clearcoatTransmissionThickness = vec4(1.0f, 1.0f, 1.0f, 1.0f); // Clearcoat + vec4 specularFactors = vec4(1.0f, 1.0f, 1.0f, 1.0f); + vec4 attenuation = vec4(1.0f, 1.0f, 1.0f, 1.0f); + + vec4 emissiveFactorAlphaCutoff = vec4(0.0f, 0.0f, 0.0f, 0.5f); + + uint32_t occlusionTexture = 0; + uint32_t occlusionTextureSampler = 0; + uint32_t occlusionTextureUV = 0; + + uint32_t emissiveTexture = 0; + uint32_t emissiveTextureSampler = 0; + uint32_t emissiveTextureUV = 0; + + uint32_t baseColorTexture = 0; + uint32_t baseColorTextureSampler = 0; + uint32_t baseColorTextureUV = 0; + + uint32_t surfacePropertiesTexture = 0; + uint32_t surfacePropertiesTextureSampler = 0; + uint32_t surfacePropertiesTextureUV = 0; + + uint32_t normalTexture = 0; + uint32_t normalTextureSampler = 0; + uint32_t normalTextureUV = 0; + + uint32_t sheenColorTexture = 0; + uint32_t sheenColorTextureSampler = 0; + uint32_t sheenColorTextureUV = 0; + uint32_t sheenRoughnessTexture = 0; + uint32_t sheenRoughnessTextureSampler = 0; + + uint32_t sheenRoughnessTextureUV = 0; + uint32_t clearCoatTexture = 0; + uint32_t clearCoatTextureSampler = 0; + uint32_t clearCoatTextureUV = 0; + + uint32_t clearCoatRoughnessTexture = 0; + uint32_t clearCoatRoughnessTextureSampler = 0; + uint32_t clearCoatRoughnessTextureUV = 0; + uint32_t clearCoatNormalTexture = 0; + + uint32_t clearCoatNormalTextureSampler = 0; + uint32_t clearCoatNormalTextureUV = 0; + uint32_t specularTexture = 0; + uint32_t specularTextureSampler = 0; + + uint32_t specularTextureUV = 0; + uint32_t specularColorTexture = 0; + uint32_t specularColorTextureSampler = 0; + uint32_t specularColorTextureUV = 0; + + uint32_t transmissionTexture = 0; + uint32_t transmissionTextureSampler = 0; + uint32_t transmissionTextureUV = 0; + uint32_t thicknessTexture = 0; + + uint32_t thicknessTextureSampler = 0; + uint32_t thicknessTextureUV = 0; + uint32_t iridescenceTexture = 0; + uint32_t iridescenceTextureSampler = 0; + + uint32_t iridescenceTextureUV = 0; + uint32_t iridescenceThicknessTexture = 0; + uint32_t iridescenceThicknessTextureSampler = 0; + uint32_t iridescenceThicknessTextureUV = 0; + + uint32_t anisotropyTexture = 0; + uint32_t anisotropyTextureSampler = 0; + uint32_t anisotropyTextureUV = 0; + uint32_t alphaMode = 0; + + uint32_t materialTypeFlags = 0; + float ior = 1.5f; + uint32_t padding[2] = { 0, 0 }; + + enum AlphaMode : uint32_t { + AlphaMode_Opaque = 0, + AlphaMode_Mask = 1, + AlphaMode_Blend = 2, + }; +}; + +static_assert(sizeof(GLTFMaterialDataGPU) % 16 == 0); + +struct GLTFDataHolder { + std::vector textures; +}; + +struct MaterialsPerFrame { + GLTFMaterialDataGPU materials[kMaxMaterials]; +}; + +using GLTFNodeRef = uint32_t; +using GLTFMeshRef = uint32_t; + +enum SortingType : uint32_t { + SortingType_Opaque = 0, + SortingType_Transmission = 1, + SortingType_Transparent = 2, +}; + +struct GLTFMesh { + lvk::Topology primitive; + uint32_t vertexOffset; + uint32_t vertexCount; + uint32_t indexOffset; + uint32_t indexCount; + uint32_t matIdx; + SortingType sortingType; +}; + +struct GLTFNode { + std::string name; + uint32_t modelMtxId; + mat4 transform = mat4(1); + std::vector children; + std::vector meshes; +}; + +struct GLTFFrameData { + mat4 model; + mat4 view; + mat4 proj; + vec4 cameraPos; +}; + +struct GLTFCamera { + std::string name; + uint32_t nodeIdx = ~0; + vec3 pos; + vec3 up; + vec3 lookAt; + float hFOV; + float near; + float far; + float aspect = 1.0f; + float orthoWidth; + + mat4 getProjection(float windowAspect = 1.0f) const + { + return orthoWidth != 0.0f + ? glm::ortho(-windowAspect / orthoWidth, windowAspect / orthoWidth, -1.0f / orthoWidth, 1.0f / orthoWidth, far, near) + : glm::perspective(hFOV, windowAspect == 1.0f ? aspect : windowAspect, near, far); + } +}; + +struct GLTFTransforms { + uint32_t modelMtxId; + uint32_t matId; + GLTFNodeRef nodeRef; // for CPU only + GLTFMeshRef meshRef; // for CPU only + uint32_t sortingType; +}; + +// Skeleton, animation, morphing +#define MAX_BONES_PER_VERTEX 8 + +struct VertexBoneData { + vec4 position; + vec4 normal; + uint32_t boneId[MAX_BONES_PER_VERTEX] = { ~0u, ~0u, ~0u, ~0u, ~0u, ~0u, ~0u, ~0u }; + float weight[MAX_BONES_PER_VERTEX] = {}; + uint32_t meshId = ~0u; +}; + +static_assert(sizeof(VertexBoneData) == sizeof(uint32_t) * 25); + +struct GLTFBone { + uint32_t boneId = ~0u; + mat4 transform = mat4(1); +}; + +GLTFMaterialDataGPU setupglTFMaterialData( + const std::unique_ptr& ctx, const GLTFGlobalSamplers& samplers, aiMaterial* const& mtlDescriptor, + const char* assetFolder, GLTFDataHolder& glTFDataholder, bool& useVolumetric); + +struct GLTFContext { + explicit GLTFContext(VulkanApp& app_) + : app(app_) + , samplers(app_.ctx_) + , envMapTextures(app_.ctx_) + { + } + + GLTFDataHolder glTFDataholder; + MaterialsPerFrame matPerFrame; + GLTFGlobalSamplers samplers; + EnvironmentMapTextures envMapTextures; + GLTFFrameData frameData; + std::vector transforms; + std::vector matrices; + + std::vector nodesStorage; + std::vector meshesStorage; + std::unordered_map bonesByName; + + std::vector morphTargets; + std::unordered_map meshesRemap; + + std::vector animations; + + std::vector opaqueNodes; + std::vector transmissionNodes; + std::vector transparentNodes; + + lvk::Holder envBuffer; + lvk::Holder lightsBuffer; + lvk::Holder perFrameBuffer; + lvk::Holder transformBuffer; + lvk::Holder matricesBuffer; + lvk::Holder morphStatesBuffer; + + lvk::Holder pipelineSolid; + lvk::Holder pipelineTransparent; + lvk::Holder pipelineComputeAnimations; + + lvk::Holder vert; + lvk::Holder frag; + lvk::Holder animation; + lvk::Holder vertexBuffer; + lvk::Holder vertexSkinningBuffer; + lvk::Holder vertexMorphingBuffer; + lvk::Holder indexBuffer; + lvk::Holder matBuffer; + + lvk::Holder offscreenTex[3] = {}; + + uint32_t currentOffscreenTex = 0; + uint32_t maxVertices = 0; + + std::vector morphStates; + std::vector lights; + std::vector cameras; + + GLTFIntrospective inspector; + + GLTFNodeRef root; + VulkanApp& app; + LineCanvas3D canvas3d; + + bool hasBones = false; + bool isVolumetricMaterial = false; + bool animated = false; + bool skinning = false; + bool morphing = false; + bool doublesided = false; + bool enableMorphing = true; + + bool isScreenCopyRequired() const { return isVolumetricMaterial; } +}; + +void loadGLTF(GLTFContext& context, const char* gltfName, const char* glTFDataPath); +void renderGLTF(GLTFContext& context, const mat4& model, const mat4& view, const mat4& proj, bool rebuildRenderList = false); +void animateGLTF(GLTFContext& gltf, AnimationState& anim, float dt); +void animateBlendingGLTF(GLTFContext& gltf, AnimationState& anim1, AnimationState& anim2, float weight, float dt); +MaterialType detectMaterialType(const aiMaterial* mtl); + +void printPrefix(int ofs); +void printMat4(const aiMatrix4x4& m); + +std::vector camerasGLTF(GLTFContext& context); +void updateCamera(GLTFContext& gltf, const mat4& model, mat4& view, mat4& proj, float aspectRatio); + +std::vector animationsGLTF(GLTFContext& gltf); diff --git a/shared/UtilsMath.h b/shared/UtilsMath.h new file mode 100644 index 0000000..9e29372 --- /dev/null +++ b/shared/UtilsMath.h @@ -0,0 +1,199 @@ +#pragma once + +#define _USE_MATH_DEFINES +#include +#include +#include + +#include + +using glm::mat4; +using glm::vec2; +using glm::vec3; +using glm::vec4; + +namespace Math +{ +static constexpr float PI = 3.14159265359f; +static constexpr float TWOPI = 6.28318530718f; +} // namespace Math + +inline vec2 clampLength(const vec2& v, float maxLength) +{ + const float l = length(v); + + return (l > maxLength) ? normalize(v) * maxLength : v; +} + +struct BoundingBox { + vec3 min_; + vec3 max_; + BoundingBox() = default; + BoundingBox(const vec3& min, const vec3& max) + : min_(glm::min(min, max)) + , max_(glm::max(min, max)) + { + } + BoundingBox(const vec3* points, size_t numPoints) + { + vec3 vmin(std::numeric_limits::max()); + vec3 vmax(std::numeric_limits::lowest()); + + for (size_t i = 0; i != numPoints; i++) { + vmin = glm::min(vmin, points[i]); + vmax = glm::max(vmax, points[i]); + } + min_ = vmin; + max_ = vmax; + } + vec3 getSize() const { return vec3(max_[0] - min_[0], max_[1] - min_[1], max_[2] - min_[2]); } + vec3 getCenter() const { return 0.5f * vec3(max_[0] + min_[0], max_[1] + min_[1], max_[2] + min_[2]); } + void transform(const glm::mat4& t) + { + vec3 corners[] = { + vec3(min_.x, min_.y, min_.z), vec3(min_.x, max_.y, min_.z), vec3(min_.x, min_.y, max_.z), vec3(min_.x, max_.y, max_.z), + vec3(max_.x, min_.y, min_.z), vec3(max_.x, max_.y, min_.z), vec3(max_.x, min_.y, max_.z), vec3(max_.x, max_.y, max_.z), + }; + for (auto& v : corners) + v = vec3(t * vec4(v, 1.0f)); + *this = BoundingBox(corners, 8); + } + BoundingBox getTransformed(const glm::mat4& t) const + { + BoundingBox b = *this; + b.transform(t); + return b; + } + void combinePoint(const vec3& p) + { + min_ = glm::min(min_, p); + max_ = glm::max(max_, p); + } +}; + +template T clamp(T v, T a, T b) +{ + if (v < a) + return a; + if (v > b) + return b; + return v; +} + +inline float random01() +{ + return (float)rand() / (float)RAND_MAX; +} + +inline float randomFloat(float min, float max) +{ + return min + (max - min) * random01(); +} + +inline vec3 randomVec(const vec3& min, const vec3& max) +{ + return vec3(randomFloat(min.x, max.x), randomFloat(min.y, max.y), randomFloat(min.z, max.z)); +} + +inline vec3 randVec() +{ + return randomVec(vec3(-5, -5, -5), vec3(5, 5, 5)); +} + +inline void getFrustumPlanes(mat4 viewProj, vec4* planes) +{ + viewProj = glm::transpose(viewProj); + planes[0] = vec4(viewProj[3] + viewProj[0]); // left + planes[1] = vec4(viewProj[3] - viewProj[0]); // right + planes[2] = vec4(viewProj[3] + viewProj[1]); // bottom + planes[3] = vec4(viewProj[3] - viewProj[1]); // top + planes[4] = vec4(viewProj[3] + viewProj[2]); // near + planes[5] = vec4(viewProj[3] - viewProj[2]); // far +} + +inline void getFrustumCorners(mat4 viewProj, vec4* points) +{ + const vec4 corners[] = { vec4(-1, -1, -1, 1), vec4(1, -1, -1, 1), vec4(1, 1, -1, 1), vec4(-1, 1, -1, 1), + vec4(-1, -1, 1, 1), vec4(1, -1, 1, 1), vec4(1, 1, 1, 1), vec4(-1, 1, 1, 1) }; + + const glm::mat4 invViewProj = glm::inverse(viewProj); + + for (int i = 0; i != 8; i++) { + const vec4 q = invViewProj * corners[i]; + points[i] = q / q.w; + } +} + +inline bool isBoxInFrustum(glm::vec4* frustumPlanes, glm::vec4* frustumCorners, const BoundingBox& box) +{ + using glm::dot; + + for (int i = 0; i < 6; i++) { + int r = 0; + r += (dot(frustumPlanes[i], vec4(box.min_.x, box.min_.y, box.min_.z, 1.0f)) < 0.0) ? 1 : 0; + r += (dot(frustumPlanes[i], vec4(box.max_.x, box.min_.y, box.min_.z, 1.0f)) < 0.0) ? 1 : 0; + r += (dot(frustumPlanes[i], vec4(box.min_.x, box.max_.y, box.min_.z, 1.0f)) < 0.0) ? 1 : 0; + r += (dot(frustumPlanes[i], vec4(box.max_.x, box.max_.y, box.min_.z, 1.0f)) < 0.0) ? 1 : 0; + r += (dot(frustumPlanes[i], vec4(box.min_.x, box.min_.y, box.max_.z, 1.0f)) < 0.0) ? 1 : 0; + r += (dot(frustumPlanes[i], vec4(box.max_.x, box.min_.y, box.max_.z, 1.0f)) < 0.0) ? 1 : 0; + r += (dot(frustumPlanes[i], vec4(box.min_.x, box.max_.y, box.max_.z, 1.0f)) < 0.0) ? 1 : 0; + r += (dot(frustumPlanes[i], vec4(box.max_.x, box.max_.y, box.max_.z, 1.0f)) < 0.0) ? 1 : 0; + if (r == 8) + return false; + } + + // check frustum outside/inside box + int r = 0; + r = 0; + for (int i = 0; i < 8; i++) + r += ((frustumCorners[i].x > box.max_.x) ? 1 : 0); + if (r == 8) + return false; + r = 0; + for (int i = 0; i < 8; i++) + r += ((frustumCorners[i].x < box.min_.x) ? 1 : 0); + if (r == 8) + return false; + r = 0; + for (int i = 0; i < 8; i++) + r += ((frustumCorners[i].y > box.max_.y) ? 1 : 0); + if (r == 8) + return false; + r = 0; + for (int i = 0; i < 8; i++) + r += ((frustumCorners[i].y < box.min_.y) ? 1 : 0); + if (r == 8) + return false; + r = 0; + for (int i = 0; i < 8; i++) + r += ((frustumCorners[i].z > box.max_.z) ? 1 : 0); + if (r == 8) + return false; + r = 0; + for (int i = 0; i < 8; i++) + r += ((frustumCorners[i].z < box.min_.z) ? 1 : 0); + if (r == 8) + return false; + + return true; +} + +inline BoundingBox combineBoxes(const std::vector& boxes) +{ + std::vector allPoints; + allPoints.reserve(boxes.size() * 8); + + for (const auto& b : boxes) { + allPoints.emplace_back(b.min_.x, b.min_.y, b.min_.z); + allPoints.emplace_back(b.min_.x, b.min_.y, b.max_.z); + allPoints.emplace_back(b.min_.x, b.max_.y, b.min_.z); + allPoints.emplace_back(b.min_.x, b.max_.y, b.max_.z); + + allPoints.emplace_back(b.max_.x, b.min_.y, b.min_.z); + allPoints.emplace_back(b.max_.x, b.min_.y, b.max_.z); + allPoints.emplace_back(b.max_.x, b.max_.y, b.min_.z); + allPoints.emplace_back(b.max_.x, b.max_.y, b.max_.z); + } + + return BoundingBox(allPoints.data(), allPoints.size()); +} diff --git a/shared/VulkanApp.cpp b/shared/VulkanApp.cpp new file mode 100644 index 0000000..b13bcfc --- /dev/null +++ b/shared/VulkanApp.cpp @@ -0,0 +1,412 @@ +#include "VulkanApp.h" + +#include "UtilsGLTF.h" +#include + +extern std::unordered_map debugGLSLSourceCode; + +static void shaderModuleCallback(lvk::IContext*, lvk::ShaderModuleHandle handle, int line, int col, const char* debugName) +{ + const auto it = debugGLSLSourceCode.find(handle.index()); + + if (it != debugGLSLSourceCode.end()) { + lvk::logShaderSource(it->second.c_str()); + } +} + +VulkanApp::VulkanApp(const VulkanAppConfig& cfg) +: cfg_(cfg) +{ + minilog::initialize(nullptr, { .threadNames = false }); + + int width = -95; + int height = -90; + + window_ = lvk::initWindow("Simple example", width, height); + ctx_ = lvk::createVulkanContextWithSwapchain( + window_, width, height, + { + .enableValidation = true, + .shaderModuleErrorCallback = &shaderModuleCallback, + }); + depthTexture_ = ctx_->createTexture({ + .type = lvk::TextureType_2D, + .format = lvk::Format_Z_F32, + .dimensions = {(uint32_t)width, (uint32_t)height}, + .usage = lvk::TextureUsageBits_Attachment, + .debugName = "Depth buffer", + }); + + imgui_ = std::make_unique(*ctx_, "data/OpenSans-Light.ttf", 30.0f); + implotCtx_ = ImPlot::CreateContext(); + + glfwSetWindowUserPointer(window_, this); + + glfwSetMouseButtonCallback(window_, [](GLFWwindow* window, int button, int action, int mods) { + VulkanApp* app = (VulkanApp*)glfwGetWindowUserPointer(window); + if (button == GLFW_MOUSE_BUTTON_LEFT) { + app->mouseState_.pressedLeft = action == GLFW_PRESS; + } + double xpos, ypos; + glfwGetCursorPos(window, &xpos, &ypos); + const ImGuiMouseButton_ imguiButton = (button == GLFW_MOUSE_BUTTON_LEFT) + ? ImGuiMouseButton_Left + : (button == GLFW_MOUSE_BUTTON_RIGHT ? ImGuiMouseButton_Right : ImGuiMouseButton_Middle); + ImGuiIO& io = ImGui::GetIO(); + io.MousePos = ImVec2((float)xpos, (float)ypos); + io.MouseDown[imguiButton] = action == GLFW_PRESS; + for (auto& cb : app->callbacksMouseButton) { + cb(window, button, action, mods); + } + }); + glfwSetScrollCallback(window_, [](GLFWwindow* window, double dx, double dy) { + ImGuiIO& io = ImGui::GetIO(); + io.MouseWheelH = (float)dx; + io.MouseWheel = (float)dy; + }); + glfwSetCursorPosCallback(window_, [](GLFWwindow* window, double x, double y) { + VulkanApp* app = (VulkanApp*)glfwGetWindowUserPointer(window); + int width, height; + glfwGetFramebufferSize(window, &width, &height); + ImGui::GetIO().MousePos = ImVec2(x, y); + app->mouseState_.pos.x = static_cast(x / width); + app->mouseState_.pos.y = 1.0f - static_cast(y / height); + }); + glfwSetKeyCallback(window_, [](GLFWwindow* window, int key, int scancode, int action, int mods) { + VulkanApp* app = (VulkanApp*)glfwGetWindowUserPointer(window); + const bool pressed = action != GLFW_RELEASE; + if (key == GLFW_KEY_ESCAPE && pressed) + glfwSetWindowShouldClose(window, GLFW_TRUE); + if (key == GLFW_KEY_W) + app->positioner_.movement_.forward_ = pressed; + if (key == GLFW_KEY_S) + app->positioner_.movement_.backward_ = pressed; + if (key == GLFW_KEY_A) + app->positioner_.movement_.left_ = pressed; + if (key == GLFW_KEY_D) + app->positioner_.movement_.right_ = pressed; + if (key == GLFW_KEY_1) + app->positioner_.movement_.up_ = pressed; + if (key == GLFW_KEY_2) + app->positioner_.movement_.down_ = pressed; + + app->positioner_.movement_.fastSpeed_ = (mods & GLFW_MOD_SHIFT) != 0; + + if (key == GLFW_KEY_SPACE) { + app->positioner_.lookAt(app->cfg_.initialCameraPos, app->cfg_.initialCameraTarget, vec3(0.0f, 1.0f, 0.0f)); + app->positioner_.setSpeed(vec3(0)); + } + for (auto& cb : app->callbacksKey) { + cb(window, key, scancode, action, mods); + } + }); +} + +VulkanApp::~VulkanApp() +{ + ImPlot::DestroyContext(implotCtx_); + + gridPipeline = nullptr; + gridVert = nullptr; + gridFrag = nullptr; + imgui_ = nullptr; + depthTexture_ = nullptr; + ctx_ = nullptr; + + glfwDestroyWindow(window_); + glfwTerminate(); +} + +lvk::Format VulkanApp::getDepthFormat() const +{ + return ctx_->getFormat(depthTexture_); +} + +void VulkanApp::run(DrawFrameFunc drawFrame) +{ + double timeStamp = glfwGetTime(); + float deltaSeconds = 0.0f; + + while (!glfwWindowShouldClose(window_)) { + fpsCounter_.tick(deltaSeconds); + const double newTimeStamp = glfwGetTime(); + deltaSeconds = static_cast(newTimeStamp - timeStamp); + timeStamp = newTimeStamp; + + glfwPollEvents(); + int width, height; +#if defined(__APPLE__) + // a hacky workaround for retina displays + glfwGetWindowSize(window_, &width, &height); +#else + glfwGetFramebufferSize(window_, &width, &height); +#endif + if (!width || !height) + continue; + const float ratio = width / (float)height; + + positioner_.update(deltaSeconds, mouseState_.pos, ImGui::GetIO().WantCaptureMouse ? false : mouseState_.pressedLeft); + + drawFrame((uint32_t)width, (uint32_t)height, ratio, deltaSeconds); + } +} + +void VulkanApp::drawMemo() +{ + ImGui::SetNextWindowPos(ImVec2(10, 10)); + ImGui::Begin( + "Keyboard hints:", nullptr, + ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_NoFocusOnAppearing | ImGuiWindowFlags_NoInputs | ImGuiWindowFlags_NoCollapse); + ImGui::Text("W/S/A/D - camera movement"); + ImGui::Text("1/2 - camera up/down"); + ImGui::Text("Shift - fast movement"); + ImGui::Text("Space - reset view"); + ImGui::End(); +} + +void VulkanApp::drawGTFInspector_Animations(GLTFIntrospective& intro) +{ + if (!intro.showAnimations) + return; + + if (ImGui::Begin( + "Animations", nullptr, + ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_NoSavedSettings | ImGuiWindowFlags_NoFocusOnAppearing | + ImGuiWindowFlags_NoNav | ImGuiWindowFlags_NoCollapse)) { + for (uint32_t a = 0; a < intro.animations.size(); ++a) { + auto it = std::find(intro.activeAnim.begin(), intro.activeAnim.end(), a); + bool oState = it != intro.activeAnim.end(); // && selected < anim->size(); + bool state = oState; + ImGui::Checkbox(intro.animations[a].c_str(), &state); + + if (state) { + if (!oState) { + uint32_t freeSlot = intro.activeAnim.size() - 1; + if (auto nf = std::find(intro.activeAnim.begin(), intro.activeAnim.end(), ~0u); nf != intro.activeAnim.end()) { + freeSlot = std::distance(intro.activeAnim.begin(), nf); + } + intro.activeAnim[freeSlot] = a; + } + } else { + if (it != intro.activeAnim.end()) { + *it = ~0; + } + } + } + } + + if (intro.showAnimationBlend) { + ImGui::SliderFloat("Blend", &intro.blend, 0, 1.0f); + } + + ImGui::End(); +} + +void VulkanApp::drawGTFInspector_Materials(GLTFIntrospective& intro) { + if (!intro.showMaterials || intro.materials.empty()) + return; + + if (ImGui::Begin( + "Materials", nullptr, + ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_NoSavedSettings | ImGuiWindowFlags_NoFocusOnAppearing | + ImGuiWindowFlags_NoNav | ImGuiWindowFlags_NoCollapse)) { + for (uint32_t m = 0; m < intro.materials.size(); ++m) { + GLTFMaterialIntro& mat = intro.materials[m]; + const uint32_t& currentMask = intro.materials[m].currentMaterialMask; + + auto setMaterialMask = [&m = intro.materials[m]](uint32_t flag, bool active) { + m.modified = true; + if (active) { + m.currentMaterialMask |= flag; + } else { + m.currentMaterialMask &= ~flag; + } + }; + + const bool isUnlit = (currentMask & MaterialType_Unlit) == MaterialType_Unlit; + + bool state = false; + + ImGui::Text("%s", mat.name.c_str()); + ImGui::PushID(m); + state = isUnlit; + + if (ImGui::RadioButton("Unlit", state)) { + mat.currentMaterialMask = 0; + setMaterialMask(MaterialType_Unlit, true); + } + + state = (currentMask & MaterialType_MetallicRoughness) == MaterialType_MetallicRoughness; + if ((mat.materialMask & MaterialType_MetallicRoughness) == MaterialType_MetallicRoughness) { + if (ImGui::RadioButton("MetallicRoughness", state)) { + setMaterialMask(MaterialType_Unlit, false); + setMaterialMask(MaterialType_SpecularGlossiness, false); + setMaterialMask(MaterialType_MetallicRoughness, true); + } + } + + state = (currentMask & MaterialType_SpecularGlossiness) == MaterialType_SpecularGlossiness; + if ((mat.materialMask & MaterialType_SpecularGlossiness) == MaterialType_SpecularGlossiness) { + if (ImGui::RadioButton("SpecularGlossiness", state)) { + setMaterialMask(MaterialType_Unlit, false); + setMaterialMask(MaterialType_SpecularGlossiness, true); + setMaterialMask(MaterialType_MetallicRoughness, false); + } + } + + state = (currentMask & MaterialType_Sheen) == MaterialType_Sheen; + if ((mat.materialMask & MaterialType_Sheen) == MaterialType_Sheen) { + ImGui::BeginDisabled(isUnlit); + if (ImGui::Checkbox("Sheen", &state)) { + setMaterialMask(MaterialType_Sheen, state); + } + ImGui::EndDisabled(); + } + + state = (mat.currentMaterialMask & MaterialType_ClearCoat) == MaterialType_ClearCoat; + if ((mat.materialMask & MaterialType_ClearCoat) == MaterialType_ClearCoat) { + ImGui::BeginDisabled(isUnlit); + if (ImGui::Checkbox("ClearCoat", &state)) { + setMaterialMask(MaterialType_ClearCoat, state); + } + ImGui::EndDisabled(); + } + + state = (mat.currentMaterialMask & MaterialType_Specular) == MaterialType_Specular; + if ((mat.materialMask & MaterialType_Specular) == MaterialType_Specular) { + ImGui::BeginDisabled(isUnlit); + if (ImGui::Checkbox("Specular", &state)) { + setMaterialMask(MaterialType_Specular, state); + } + ImGui::EndDisabled(); + } + + state = (mat.currentMaterialMask & MaterialType_Transmission) == MaterialType_Transmission; + if ((mat.materialMask & MaterialType_Transmission) == MaterialType_Transmission) { + ImGui::BeginDisabled(isUnlit); + if (ImGui::Checkbox("Transmission", &state)) { + if (!state) { + setMaterialMask(MaterialType_Volume, false); + } + setMaterialMask(MaterialType_Transmission, state); + } + ImGui::EndDisabled(); + } + + state = (mat.currentMaterialMask & MaterialType_Volume) == MaterialType_Volume; + if ((mat.materialMask & MaterialType_Volume) == MaterialType_Volume) { + ImGui::BeginDisabled(isUnlit); + if (ImGui::Checkbox("Volume", &state)) { + setMaterialMask(MaterialType_Volume, state); + if (state) { + setMaterialMask(MaterialType_Transmission, true); + } + } + ImGui::EndDisabled(); + } + + ImGui::PopID(); + } + } + + ImGui::End(); +} + +void VulkanApp::drawGTFInspector_Cameras(GLTFIntrospective& intro) +{ + if (!intro.showCameras) + return; + + ImGui::Begin("Cameras:", nullptr, ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_NoFocusOnAppearing | ImGuiWindowFlags_NoCollapse); + std::string current_item = intro.activeCamera != ~0u ? intro.cameras[intro.activeCamera] : ""; + if (ImGui::BeginCombo("##combo", current_item.c_str())) { + for (uint32_t n = 0; n < intro.cameras.size(); n++) { + bool is_selected = (current_item == intro.cameras[n]); + if (ImGui::Selectable(intro.cameras[n].c_str(), is_selected)) { + intro.activeCamera = n; + current_item = intro.cameras[n]; + } + if (is_selected) + ImGui::SetItemDefaultFocus(); + } + ImGui::EndCombo(); + } + ImGui::End(); +} + +void VulkanApp::drawGTFInspector(GLTFIntrospective& intro) +{ + if (!cfg_.showGLTFInspector) { + return; + } + + ImGui::SetNextWindowPos(ImVec2(10, 300)); + + drawGTFInspector_Animations(intro); + drawGTFInspector_Materials(intro); + drawGTFInspector_Cameras(intro); +} + +void VulkanApp::drawFPS() +{ + if (const ImGuiViewport* v = ImGui::GetMainViewport()) { + ImGui::SetNextWindowPos({ v->WorkPos.x + v->WorkSize.x - 15.0f, v->WorkPos.y + 15.0f }, ImGuiCond_Always, { 1.0f, 0.0f }); + } + ImGui::SetNextWindowBgAlpha(0.30f); + ImGui::SetNextWindowSize(ImVec2(ImGui::CalcTextSize("FPS : _______").x, 0)); + if (ImGui::Begin( + "##FPS", nullptr, + ImGuiWindowFlags_NoDecoration | ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_NoSavedSettings | + ImGuiWindowFlags_NoFocusOnAppearing | ImGuiWindowFlags_NoNav | ImGuiWindowFlags_NoMove)) { + ImGui::Text("FPS : %i", (int)fpsCounter_.getFPS()); + ImGui::Text("Ms : %.1f", fpsCounter_.getFPS() > 0 ? 1000.0 / fpsCounter_.getFPS() : 0); + } + ImGui::End(); +} + +void VulkanApp::drawGrid(lvk::ICommandBuffer& buf, const mat4& proj, const vec3& origin, uint32_t numSamples, lvk::Format colorFormat) +{ + drawGrid(buf, proj * camera_.getViewMatrix(), origin, camera_.getPosition(), numSamples, colorFormat); +} + +void VulkanApp::drawGrid( + lvk::ICommandBuffer& buf, const mat4& mvp, const vec3& origin, const vec3& camPos, uint32_t numSamples, lvk::Format colorFormat) +{ + if (gridPipeline.empty() || pipelineSamples != numSamples) { + gridVert = loadShaderModule(ctx_, "data/shaders/Grid.vert"); + gridFrag = loadShaderModule(ctx_, "data/shaders/Grid.frag"); + + pipelineSamples = numSamples; + + gridPipeline = ctx_->createRenderPipeline({ + .smVert = gridVert, + .smFrag = gridFrag, + .color = { { + .format = colorFormat != lvk::Format_Invalid ? colorFormat : ctx_->getSwapchainFormat(), + .blendEnabled = true, + .srcRGBBlendFactor = lvk::BlendFactor_SrcAlpha, + .dstRGBBlendFactor = lvk::BlendFactor_OneMinusSrcAlpha, + } }, + .depthFormat = this->getDepthFormat(), + .samplesCount = numSamples, + .debugName = "Pipeline: drawGrid()", + }); + } + + const struct { + mat4 mvp; + vec4 camPos; + vec4 origin; + } pc = { + .mvp = mvp, + .camPos = vec4(camPos, 1.0f), + .origin = vec4(origin, 1.0f), + }; + + buf.cmdPushDebugGroupLabel("Grid", 0xff0000ff); + buf.cmdBindRenderPipeline(gridPipeline); + buf.cmdBindDepthState({ .compareOp = lvk::CompareOp_Less, .isDepthWriteEnabled = false }); + buf.cmdPushConstants(pc); + buf.cmdDraw(6); + buf.cmdPopDebugGroupLabel(); +} diff --git a/shared/VulkanApp.h b/shared/VulkanApp.h new file mode 100644 index 0000000..4025f15 --- /dev/null +++ b/shared/VulkanApp.h @@ -0,0 +1,119 @@ +#pragma once + +#include +#include + +#include +#include + +#include +#include + +#include +#include + +#include "shared/UtilsFPS.h" +#include +#include +#include +#include +#include + +#include + +using glm::mat3; +using glm::mat4; +using glm::vec2; +using glm::vec3; +using glm::vec4; + +using DrawFrameFunc = std::function; + +struct GLTFMaterialIntro { + std::string name; + uint32_t materialMask; + uint32_t currentMaterialMask; + bool modified = false; +}; + +struct GLTFIntrospective { + std::vector cameras; + uint32_t activeCamera = ~0u; + + std::vector animations; + std::vector activeAnim; + + std::vector extensions; + std::vector activeExtension; + + std::vector materials; + std::vector modifiedMaterial; + + float blend = 0.5f; + + bool showAnimations = false; + bool showAnimationBlend = false; + bool showCameras = false; + bool showMaterials = true; +}; + +struct VulkanAppConfig { + vec3 initialCameraPos = vec3(0.0f, 0.0f, -2.5f); + vec3 initialCameraTarget = vec3(0.0f, 0.0f, 0.0f); + bool showGLTFInspector = false; +}; + +class VulkanApp +{ +public: + explicit VulkanApp(const VulkanAppConfig& cfg = {}); + virtual ~VulkanApp(); + + virtual void run(DrawFrameFunc drawFrame); + virtual void drawGrid( + lvk::ICommandBuffer& buf, const mat4& proj, const vec3& origin = vec3(0.0f), uint32_t numSamples = 1, + lvk::Format colorFormat = lvk::Format_Invalid); + virtual void drawGrid( + lvk::ICommandBuffer& buf, const mat4& mvp, const vec3& origin, const vec3& camPos, uint32_t numSamples = 1, + lvk::Format colorFormat = lvk::Format_Invalid); + virtual void drawFPS(); + virtual void drawMemo(); + virtual void drawGTFInspector(GLTFIntrospective& intro); + virtual void drawGTFInspector_Animations(GLTFIntrospective& intro); + virtual void drawGTFInspector_Materials(GLTFIntrospective& intro); + virtual void drawGTFInspector_Cameras(GLTFIntrospective& intro); + + lvk::Format getDepthFormat() const; + lvk::TextureHandle getDepthTexture() const { return depthTexture_; } + + void addMouseButtonCallback(GLFWmousebuttonfun cb) { callbacksMouseButton.push_back(cb); } + void addKeyCallback(GLFWkeyfun cb) { callbacksKey.push_back(cb); } + +public: + GLFWwindow* window_ = nullptr; + std::unique_ptr ctx_; + lvk::Holder depthTexture_; + FramesPerSecondCounter fpsCounter_ = FramesPerSecondCounter(0.5f); + std::unique_ptr imgui_; + ImPlotContext* implotCtx_ = nullptr; + + const VulkanAppConfig cfg_ = {}; + + CameraPositioner_FirstPerson positioner_ = { cfg_.initialCameraPos, cfg_.initialCameraTarget, vec3(0.0f, 1.0f, 0.0f) }; + Camera camera_ = Camera(positioner_); + + struct MouseState { + vec2 pos = vec2(0.0f); + bool pressedLeft = false; + } mouseState_; + +protected: + lvk::Holder gridVert = {}; + lvk::Holder gridFrag = {}; + lvk::Holder gridPipeline = {}; + + uint32_t pipelineSamples = 1; + + std::vector callbacksMouseButton; + std::vector callbacksKey; +}; diff --git a/vk.sh b/vk.sh new file mode 100755 index 0000000..34f8e4f --- /dev/null +++ b/vk.sh @@ -0,0 +1,241 @@ +set -e + +SCRIPT_NAME="vk" +PROJECT_ROOT=$(pwd) +BUILD_DIR="$PROJECT_ROOT/build" + +function help() { + echo "Vulkan Cookbook Project Management Tool" + echo "" + echo "Usage: $SCRIPT_NAME [command]" + echo "" + echo "Commands:" + echo " new CHAPTER SAMPLE NAME Create a new sample (e.g. vk new 2 1 'GLFW Window')" + echo " build [sample] Build project using Ninja (all or specific sample)" + echo " run CHAPTER SAMPLE Run a specific sample" + echo " cmake Regenerate CMake files" + echo " list List all samples" + echo " compile-commands Copy compile_commands.json to project root" + echo " deps Run deps bootstrapping" + echo " help Show this help message" +} + +function new_sample() { + if [ $# -lt 3 ]; then + echo "Error: Missing arguments for 'new'" + echo "Usage: $SCRIPT_NAME new CHAPTER SAMPLE NAME" + return 1 + fi + + CHAPTER=$1 + SAMPLE=$2 + NAME=$3 + + PADDED_CHAPTER=$(printf "%02d" "$CHAPTER") + PADDED_SAMPLE=$(printf "%02d" "$SAMPLE") + + SAMPLE_DIR="$PROJECT_ROOT/Chapter$PADDED_CHAPTER/$PADDED_SAMPLE"_"$NAME" + + if [ -d "$SAMPLE_DIR" ]; then + echo "Error: Sample directory already exists: $SAMPLE_DIR" + return 1 + fi + + echo "Creating new sample Ch${PADDED_CHAPTER}_${PADDED_SAMPLE}_${NAME}..." + mkdir -p "$SAMPLE_DIR/src" + + # Create CMakeLists.txt + cat >"$SAMPLE_DIR/CMakeLists.txt" <"$SAMPLE_DIR/src/main.cpp" < +#include +#include + +int main(int argc, char* argv[]) { + std::cout << "Chapter ${CHAPTER}, Sample ${SAMPLE}: ${NAME}" << std::endl; + + uint32_t width = 1280; + uint32_t height = 720; + + GLFWwindow *window = initWindow("Ch${PADDED_CHAPTER}_${PADDED_SAMPLE}: ${NAME}", width, height); + + while (!glfwWindowShouldClose(window)) { + glfwPollEvents(); + } + + glfwDestroyWindow(window); + glfwTerminate(); + return 0; +} +EOL + + echo "Successfully created new sample: $SAMPLE_DIR" + echo "Run '$SCRIPT_NAME cmake' to update CMake configuration" +} + +function build_project() { + if [ ! -d "$BUILD_DIR" ]; then + echo "Creating build directory..." + mkdir -p "$BUILD_DIR" + fi + + cd "$BUILD_DIR" + + if [ $# -eq 0 ]; then + echo "Building all targets..." + ninja + else + TARGET="Ch$1" + echo "Building target: $TARGET" + ninja "$TARGET" + fi + + cd "$PROJECT_ROOT" +} + +function run_sample() { + if [ $# -lt 2 ]; then + echo "Error: Missing arguments for 'run'" + echo "Usage: $SCRIPT_NAME run CHAPTER SAMPLE" + return 1 + fi + + CHAPTER=$(printf "%02d" "$1") + SAMPLE=$(printf "%02d" "$2") + + # Find the exact sample name + SAMPLE_PATTERN="Ch${CHAPTER}_${SAMPLE}_*" + SAMPLE_BINARY=$(find "$PROJECT_ROOT/bin" -name "$SAMPLE_PATTERN" -type f -executable 2>/dev/null | head -1) + + if [ -z "$SAMPLE_BINARY" ]; then + echo "Error: Sample not found or not built: Chapter $CHAPTER, Sample $SAMPLE" + echo "Try building it first: $SCRIPT_NAME build" + return 1 + fi + + echo "Running $SAMPLE_BINARY..." + "$SAMPLE_BINARY" +} + +function regenerate_cmake() { + if [ ! -d "$BUILD_DIR" ]; then + mkdir -p "$BUILD_DIR" + fi + + # Update root CMakeLists.txt to include all chapters/samples + echo "Updating root CMakeLists.txt with new samples..." + + # Find all chapter/sample directories, excluding the build directory + SAMPLES=$(find "$PROJECT_ROOT" -type d -path "*/Chapter*/[0-9][0-9]_*" -not -path "*/**/build/*" -not -path "*/**/src" | sort) + + # Create a temporary file with updated subdirectories + TEMP_CMAKE=$(mktemp) + + # Extract the content up to line 100 (before add_subdirectory calls) + head -n "$(grep -n "BINARIES" CMakeLists.txt | head -n 1 | cut -d: -f1)" "$PROJECT_ROOT/CMakeLists.txt" >"$TEMP_CMAKE" + + # Add subdirectories for all samples + for SAMPLE_DIR in $SAMPLES; do + # Skip src directories + if [[ "$SAMPLE_DIR" == */src ]]; then + continue + fi + + # Get relative path from project root + REL_PATH=$(realpath --relative-to="$PROJECT_ROOT" "$SAMPLE_DIR") + echo "add_subdirectory($REL_PATH)" >>"$TEMP_CMAKE" + done + + # Update the CMakeLists.txt file + mv "$TEMP_CMAKE" "$PROJECT_ROOT/CMakeLists.txt" + + cd "$BUILD_DIR" + echo "Regenerating CMake files..." + cmake -G Ninja .. + cd "$PROJECT_ROOT" + + # Copy compile_commands.json to project root + if [ -f "$BUILD_DIR/compile_commands.json" ]; then + cp "$BUILD_DIR/compile_commands.json" "$PROJECT_ROOT/" + echo "Copied compile_commands.json to project root" + fi +} + +function update_deps() { + echo "Updating Dependencies" + pushd "$PROJECT_ROOT/deps" + ./bootstrap.py + popd + echo "Dependencies updated" +} + +function list_samples() { + echo "Available samples:" + find "$PROJECT_ROOT" -type d -path "*/Chapter*/[0-9][0-9]_*" -not -path "build/*" -not -path "*/**/src" | sort | while read -r dir; do + # Skip src directories + if [[ "$dir" == */src ]]; then + continue + fi + echo " $(basename "$(dirname "$dir")")/$(basename "$dir")" + done +} + +# Update main CMakeLists.txt if sample is added or removed +function update_root_cmake() { + # Check if we need to update the root CMakeLists.txt + if [ "$1" == "new" ] || [ "$1" == "delete" ]; then + regenerate_cmake + fi +} + +# Main command dispatcher +if [ $# -eq 0 ]; then + help + exit 0 +fi + +COMMAND=$1 +shift + +case "$COMMAND" in +"new") + new_sample "$@" + update_root_cmake "new" + ;; +"build") + build_project "$@" + ;; +"run") + run_sample "$@" + ;; +"cmake") + regenerate_cmake + ;; +"list") + list_samples + ;; +"deps") + update_deps + ;; +"compile-commands") + cp "$BUILD_DIR/compile_commands.json" "$PROJECT_ROOT/" 2>/dev/null || echo "No compile_commands.json found in build directory" + ;; +"help") + help + ;; +*) + echo "Unknown command: $COMMAND" + help + exit 1 + ;; +esac