diff --git a/src/quick3d/qdemoncamera.cpp b/src/quick3d/qdemoncamera.cpp index e742b1546b69ae6ed1c8a5e8241462c0b3fa5c30..3167b23398f07b868a446409a034b4a707898f31 100644 --- a/src/quick3d/qdemoncamera.cpp +++ b/src/quick3d/qdemoncamera.cpp @@ -166,12 +166,12 @@ QVector2D QDemonCamera::worldToViewport(const QVector3D &worldPos) const return QVector2D(-1, -1); // Convert from left-handed to right-handed - QVector3D worldPosRightHand = worldPos * QVector3D(0, 0, -1); + QVector4D worldPosRightHand(worldPos.x(), worldPos.y(), -worldPos.z(), 1); // Transform position const QMatrix4x4 worldToCamera = m_cameraNode->globalTransform.inverted(); QMatrix4x4 projectionViewMatrix = m_cameraNode->projection * worldToCamera; - QVector4D pos4d = mat44::transform(projectionViewMatrix, QVector4D(worldPosRightHand, 1)); + QVector4D pos4d = mat44::transform(projectionViewMatrix, worldPosRightHand); // Check if the position is visible in the viewport if (pos4d.w() <= 0)