diff options
Diffstat (limited to 'src/render/jobs/updatelevelofdetailjob.cpp')
-rw-r--r-- | src/render/jobs/updatelevelofdetailjob.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/render/jobs/updatelevelofdetailjob.cpp b/src/render/jobs/updatelevelofdetailjob.cpp index b5033a6b7..d4f09cb01 100644 --- a/src/render/jobs/updatelevelofdetailjob.cpp +++ b/src/render/jobs/updatelevelofdetailjob.cpp @@ -120,13 +120,13 @@ private: const QList<qreal> thresholds = lod->thresholds(); Vector3D center(lod->center()); if (lod->hasBoundingVolumeOverride() || entity->worldBoundingVolume() == nullptr) { - center = *entity->worldTransform() * center; + center = entity->worldTransform()->map(center); } else { center = entity->worldBoundingVolume()->center(); } - const Vector3D tcenter = viewMatrix * center; - const float dist = tcenter.length(); + const Vector3D tcenter = viewMatrix.map(center); + const double dist = double(tcenter.length()); const int n = thresholds.size(); for (int i=0; i<n; ++i) { if (dist <= thresholds[i] || i == n -1) { @@ -171,7 +171,7 @@ private: float area = vca.viewport.width() * sideLength * vca.viewport.height() * sideLength; const QRect r = windowViewport(vca.area, vca.viewport); - area = std::sqrt(area * r.width() * r.height()); + area = std::sqrt(area * float(r.width()) * float(r.height())); const int n = thresholds.size(); for (int i = 0; i < n; ++i) { |