diff options
-rw-r--r-- | src/gui/math3d/qmatrix4x4.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/gui/math3d/qmatrix4x4.cpp b/src/gui/math3d/qmatrix4x4.cpp index a54ca451d4..19d1fe6a8c 100644 --- a/src/gui/math3d/qmatrix4x4.cpp +++ b/src/gui/math3d/qmatrix4x4.cpp @@ -1530,7 +1530,11 @@ void QMatrix4x4::perspective(float verticalAngle, float aspectRatio, float nearP */ void QMatrix4x4::lookAt(const QVector3D& eye, const QVector3D& center, const QVector3D& up) { - QVector3D forward = (center - eye).normalized(); + QVector3D forward = center - eye; + if (qFuzzyIsNull(forward.x()) && qFuzzyIsNull(forward.y()) && qFuzzyIsNull(forward.z())) + return; + + forward.normalize(); QVector3D side = QVector3D::crossProduct(forward, up).normalized(); QVector3D upVector = QVector3D::crossProduct(side, forward); |