6#include <QtQuick3DRuntimeRender/private/qssgrendercamera_p.h>
7#include <QtQuick3D/private/qquick3dutils_p.h>
8#include <QtQuick3D/private/qquick3dnode_p_p.h>
27 return m_rightTangent;
57 markProjectionDirty();
67 markProjectionDirty();
77 markProjectionDirty();
87 markProjectionDirty();
97 markProjectionDirty();
107 markProjectionDirty();
114 maybeUpdateProjection();
115 bool changed =
false;
126void QOpenXREyeCamera::markProjectionDirty()
128 if (!m_projectionDirty) {
129 m_projectionDirty =
true;
134void QOpenXREyeCamera::maybeUpdateProjection()
136 if (!m_projectionDirty)
139 const float right = m_rightTangent * m_clipNear;
140 const float top = m_upTangent * m_clipNear;
141#if defined(Q_OS_VISIONOS)
144 const float left = -m_leftTangent * m_clipNear;
145 const float bottom = -m_downTangent * m_clipNear;
147 const float left = m_leftTangent * m_clipNear;
148 const float bottom = m_downTangent * m_clipNear;
165 m[10] = m_clipFar / (m_clipNear - m_clipFar);
166 m[14] = m_clipFar * m_clipNear / (m_clipNear - m_clipFar);
174 const bool isReverseZ =
false;
176 if (std::isinf(m_clipFar)) {
183 }
else if (std::isinf(m_clipFar)) {
float * data()
Returns a pointer to the raw data of this matrix.
void clipNearChanged(float clipNear)
QOpenXRCamera(QQuick3DNode *parent=nullptr)
void clipFarChanged(float clipFar)
void setClipFar(float clipFar)
void setClipNear(float clipNear)
void setUpTangent(float upTangent)
void clipNearChanged(float clipNear)
void setRightTangent(float rightTangent)
void setClipNear(float clipNear)
QSSGRenderGraphObject * updateSpatialNode(QSSGRenderGraphObject *node) override
void setLeftTangent(float leftTangent)
void downTangentChanged(float downTangent)
void setClipFar(float clipFar)
void rightTangentChanged(float rightTangent)
void setDownTangent(float downTangent)
void leftTangentChanged(float leftTangent)
void upTangentChanged(float upTangent)
QOpenXREyeCamera(QQuick3DNode *parent=nullptr)
void clipFarChanged(float clipFar)
QSSGRenderGraphObject * updateSpatialNode(QSSGRenderGraphObject *node) override
Combined button and popup list for selecting options.
bool qFuzzyCompare(qfloat16 p1, qfloat16 p2) noexcept
GLdouble GLdouble GLdouble GLdouble top
QT_BEGIN_NAMESPACE bool qUpdateIfNeeded(T &orig, T updated)