修复相机使用旋转矩阵旋转失效
parent
683d94a8d7
commit
9281b77178
|
@ -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();
|
||||
}
|
||||
|
||||
|
|
|
@ -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]),
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue