From 9281b77178231cba0d6d4035b4e82bd0cc2c45b3 Mon Sep 17 00:00:00 2001 From: ink-soul Date: Mon, 22 Apr 2024 11:57:16 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=9B=B8=E6=9C=BA=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E6=97=8B=E8=BD=AC=E7=9F=A9=E9=98=B5=E6=97=8B=E8=BD=AC?= =?UTF-8?q?=E5=A4=B1=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- base/camera.hpp | 6 +++--- base/renderConfig.cpp | 6 +++--- base/vulkanexamplebase.cpp | 9 +++------ src/render/render.cpp | 3 +++ 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/base/camera.hpp b/base/camera.hpp index f6880f7..1a96713 100644 --- a/base/camera.hpp +++ b/base/camera.hpp @@ -55,10 +55,10 @@ public: glm::vec3 rotation = glm::vec3(); glm::vec3 position = glm::vec3(); glm::vec4 viewPos = glm::vec4(); - + glm::mat3 rotationMatrix = glm::mat3(); float rotationSpeed = 1.0f; float movementSpeed = 1.0f; - glm::mat3 rotationMatrix = glm::mat3(); + bool updated = false; bool flipY = false; @@ -117,7 +117,7 @@ public: void setRotation(glm::mat3 rotaionMatrix) { - rotaionMatrix = rotaionMatrix; + this->rotationMatrix = rotaionMatrix; updateViewMatrix(); } diff --git a/base/renderConfig.cpp b/base/renderConfig.cpp index b7aee86..81899fc 100644 --- a/base/renderConfig.cpp +++ b/base/renderConfig.cpp @@ -40,15 +40,15 @@ void PlumageConfig::PlumageConfiguration::readConfigurationFromToml(std::string size_t sz; settings.cX = std::stof(cX, &sz); settings.cY = std::stof(cY, &sz); - settings.bottomCenter = glm::vec3(bottomCenter[0], bottomCenter[1], bottomCenter[2]); - settings.bottomNormal = glm::vec3(bottomNormal[0], bottomNormal[1], bottomNormal[2]); + settings.bottomCenter = glm::vec3(bottomCenter[0], -bottomCenter[1], -bottomCenter[2]); + settings.bottomNormal = glm::vec3(bottomNormal[0], -bottomNormal[1], -bottomNormal[2]); auto cameraTracksAndAngleSize = std::min(cameraTracks.size(), cameraAngle.size()); settings.cameraTracks.resize(cameraTracksAndAngleSize); settings.cameraAngle.resize(cameraTracksAndAngleSize); for (uint64_t i = 0; i < cameraTracksAndAngleSize; i++) { - settings.cameraTracks[i] = glm::vec3(cameraTracks[i][0], cameraTracks[i][1], cameraTracks[i][2]); + settings.cameraTracks[i] = glm::vec3(cameraTracks[i][0], -cameraTracks[i][1], -cameraTracks[i][2]); settings.cameraAngle[i] = glm::mat3(glm::vec3(cameraAngle[i][0][0], cameraAngle[i][0][1], cameraAngle[i][0][2]), glm::vec3(cameraAngle[i][1][0], cameraAngle[i][1][1], cameraAngle[i][1][2]), diff --git a/base/vulkanexamplebase.cpp b/base/vulkanexamplebase.cpp index 0016c8c..c39285f 100644 --- a/base/vulkanexamplebase.cpp +++ b/base/vulkanexamplebase.cpp @@ -339,13 +339,10 @@ void VulkanExampleBase::renderLoop() camera.setRotation(settings.cameraAngle[currentFrame]); renderFrame(); - if (currentFrame = settings.cameraTracks.size() ) + currentFrame++; + if (currentFrame>=settings.cameraAngle.size()-1) { - currentFrame = settings.cameraTracks.size()-1; - } - else - { - currentFrame++; + currentFrame = settings.cameraAngle.size()-1; } } diff --git a/src/render/render.cpp b/src/render/render.cpp index 6187d39..a138a2d 100644 --- a/src/render/render.cpp +++ b/src/render/render.cpp @@ -1912,6 +1912,9 @@ PlumageRender::PlumageRender() std::string commandLineImageSequencePath = filePath.totalImageOutputPath; //std::string commandLineCodecAndResultPath = resultVideoPath; std::string commandLineFrameRate = std::to_string(settings.videoFrameRate); + std::filesystem::path image2videoBatFilePath = filePath.image2videoBatFilePath; + + filePath.image2videoBatFilePath = image2videoBatFilePath.lexically_proximate(image2videoBatFilePath.root_path()).generic_string(); #if defined(_WIN32) std::string commandLine = filePath.image2videoBatFilePath + " " + commandLineFrameRate + " " + commandLineImageSequencePath + " " + resultVideoPath; #else