Selaa lähdekoodia

Fix: fix incorrect math for calculating the horizontal FOV of a perspective camera in GLTF2 import #4435

shimaowo 2 vuotta sitten
vanhempi
commit
39cbef1e21
1 muutettua tiedostoa jossa 1 lisäystä ja 1 poistoa
  1. 1 1
      code/AssetLib/glTF2/glTF2Importer.cpp

+ 1 - 1
code/AssetLib/glTF2/glTF2Importer.cpp

@@ -853,7 +853,7 @@ void glTF2Importer::ImportCameras(glTF2::Asset &r) {
 
         if (cam.type == Camera::Perspective) {
             aicam->mAspect = cam.cameraProperties.perspective.aspectRatio;
-            aicam->mHorizontalFOV = cam.cameraProperties.perspective.yfov * ((aicam->mAspect == 0.f) ? 1.f : aicam->mAspect);
+            aicam->mHorizontalFOV = 2.0f * std::atan(std::tan(cam.cameraProperties.perspective.yfov * 0.5f) * (aicam->mAspect == 0.f) ? 1.f : aicam->mAspect);
             aicam->mClipPlaneFar = cam.cameraProperties.perspective.zfar;
             aicam->mClipPlaneNear = cam.cameraProperties.perspective.znear;
         } else {