57#if QT_CONFIG(quick_shadereffect)
62 Q_PROPERTY(
int explicitTextureWidth READ explicitTextureWidth WRITE setExplicitTextureWidth NOTIFY explicitTextureWidthChanged FINAL REVISION(6, 7))
63 Q_PROPERTY(
int explicitTextureHeight READ explicitTextureHeight WRITE setExplicitTextureHeight NOTIFY explicitTextureHeightChanged FINAL REVISION(6, 7))
64 Q_PROPERTY(
QSize effectiveTextureSize READ effectiveTextureSize NOTIFY effectiveTextureSizeChanged FINAL REVISION(6, 7))
81 QQmlListProperty<QObject>
data();
88#if QT_CONFIG(quick_shadereffect)
95 bool isTextureProvider()
const override;
97 void releaseResources()
override;
126 [[nodiscard]]
bool extensionListDirty()
const {
return m_extensionListDirty; }
127 [[nodiscard]]
const QList<QQuick3DObject *> &
extensionList()
const {
return m_extensions; }
133 void geometryChange(const
QRectF &newGeometry, const
QRectF &oldGeometry) override;
138 void componentComplete() override;
145#if QT_CONFIG(quick_shadereffect)
150 void cleanupDirectRenderer();
154 void setGlobalPickingEnabled(
bool isEnabled);
157 void invalidateSceneGraph();
158 void updateInputProcessing();
159 void onReleaseCachedResources();
162 void cameraChanged();
163 void environmentChanged();
165 void importSceneChanged();
166 void renderModeChanged();
181 struct SubsceneInfo {
183 QVarLengthArray<QPointF, 16> eventPointScenePositions;
186 void updateDynamicTextures();
189 void setupDirectRenderer(RenderMode
mode);
190 bool checkIsVisible()
const;
198 const QFlatMap<QQuickItem *, SubsceneInfo> &visitedSubscenes)
const;
203 QFlatMap<QQuickItem *, SubsceneInfo> &vistedSubscenes)
const;
205 QQuick3DPickResult getNearestPickResult(
const QVarLengthArray<QSSGRenderPickResult, 20> &pickResults)
const;
210 QVarLengthArray<QQuick3DCamera *, 2> m_multiViewCameras;
217 bool m_renderModeDirty =
false;
218 RenderMode m_renderMode = Offscreen;
219#if QT_CONFIG(quick_shadereffect)
222 int m_explicitTextureWidth = 0;
223 int m_explicitTextureHeight = 0;
224 QSize m_effectiveTextureSize;
225 float m_widthMultiplier = 1.0f;
226 float m_heightMultiplier = 1.0f;
228 bool m_enableInputProcessing =
false;
230 QList<QQuick3DObject *> m_extensions;
231 bool m_extensionListDirty =
false;
236 bool isPressed =
false;
239 QVarLengthArray<TouchState, 2> m_touchState{2};
The QSGTextureProvider class encapsulates texture based entities in QML.