6#include <QtQuick3DRuntimeRender/private/qssgrendercamera_p.h>
7#include <QtQuick3D/private/qquick3dutils_p.h>
8#include <QtQuick3D/private/qquick3dnode_p_p.h>
33 return m_rightTangent;
63 markProjectionDirty();
73 markProjectionDirty();
83 markProjectionDirty();
93 markProjectionDirty();
103 markProjectionDirty();
113 markProjectionDirty();
120 maybeUpdateProjection();
121 bool changed =
false;
132void QQuick3DXrEyeCamera::markProjectionDirty()
134 if (!m_projectionDirty) {
135 m_projectionDirty =
true;
140void QQuick3DXrEyeCamera::maybeUpdateProjection()
142 if (!m_projectionDirty)
145 const float right = m_rightTangent * m_clipNear;
146 const float top = m_upTangent * m_clipNear;
147#if defined(Q_OS_VISIONOS)
150 const float left = -m_leftTangent * m_clipNear;
151 const float bottom = -m_downTangent * m_clipNear;
153 const float left = m_leftTangent * m_clipNear;
154 const float bottom = m_downTangent * m_clipNear;
171 m[10] = m_clipFar / (m_clipNear - m_clipFar);
172 m[14] = m_clipFar * m_clipNear / (m_clipNear - m_clipFar);
180 const bool isReverseZ =
false;
182 if (std::isinf(m_clipFar)) {
189 }
else if (std::isinf(m_clipFar)) {
float * data()
Returns a pointer to the raw data of this matrix.
QSSGRenderGraphObject * updateSpatialNode(QSSGRenderGraphObject *node) override
void setClipNear(float clipNear)
void clipFarChanged(float clipFar)
void setClipFar(float clipFar)
QQuick3DXrCamera(QQuick3DNode *parent=nullptr)
void clipNearChanged(float clipNear)
void leftTangentChanged(float leftTangent)
void clipFarChanged(float clipFar)
void clipNearChanged(float clipNear)
void downTangentChanged(float downTangent)
void setDownTangent(float downTangent)
void setUpTangent(float upTangent)
void setClipNear(float clipNear)
QSSGRenderGraphObject * updateSpatialNode(QSSGRenderGraphObject *node) override
void setRightTangent(float rightTangent)
void setClipFar(float clipFar)
void upTangentChanged(float upTangent)
void rightTangentChanged(float rightTangent)
void setLeftTangent(float leftTangent)
QQuick3DXrEyeCamera(QQuick3DNode *parent=nullptr)
\qmltype XrCamera \inherits Node \inqmlmodule QtQuick3D.Xr
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)