Как использовать функцию Qt QVector3D::unproject()?
Я делаю проект opengl в Qt с новым классом QOpenGLWidget. Я просто пытаюсь получить мировые координаты opengl моей мыши, когда я нажимаю. Я нашел много способов сделать это, но некоторые устарели, а другие не работают. Затем я нашел функцию QVector3D::unproject(), но не получил правильные координаты. Пока это часть моего кода:
QMatrix4x4 modelView;
modelView.setToIdentity();
modelView.lookAt(m_camera.getPosition(), m_camera.getTarget(), m_camera.getUp());
QMatrix4x4 projection;
projection.perspective(70.0, width() / height(), 0.1, 120.0);
GLint view[4];
glGetIntegerv(GL_VIEWPORT, &view[0]);
QVector3D worldPosition = QVector3D(event->pos().x(), event->pos().y(), 0).unproject(modelView, projection, QRect(view[0], view[1], view[2], view[3]));
qDebug() << worldPosition;
Вы знаете, почему я получаю (1.96532, -3.93444, 4.93216), где я должен иметь (-0.5, -0.5, 0.0)?