50 if (environment.useBuiltinTonemapper())
51 return QSSGRenderLayer::TonemapMode(environment.tonemapMode());
54 return (environment.tonemapMode() != QQuick3DSceneEnvironment::QQuick3DEnvironmentTonemapModes::TonemapModeNone) ? QSSGRenderLayer::TonemapMode::Custom
55 : QSSGRenderLayer::TonemapMode::None;
62 void rhiPrepare(
const QRect &viewport, qreal displayPixelRatio);
64 void synchronize(QQuick3DViewport *view3D,
const QSize &size,
float dpr);
80 void releaseAaDependentRhiResources();
81 void updateLayerNode(QSSGRenderLayer &layerNode,
82 const QQuick3DViewport &view3D,
83 const QList<QSSGRenderGraphObject *> &resourceLoaders);
84 void addNodeToLayer(QSSGRenderNode *node);
85 void removeNodeFromLayer(QSSGRenderNode *node);
86 void maybeSetupLightmapBaking(QQuick3DViewport *view3D);
87 std::shared_ptr<QSSGRenderContextInterface> m_sgContext;
88 QSSGRenderLayer *m_layer =
nullptr;
89 QPointer<QQuick3DWindowAttachment> winAttacment;
91 SGFramebufferObjectNode *fboNode =
nullptr;
92 bool m_aaIsDirty =
true;
93 bool m_temporalIsDirty =
false;
94 bool m_timeBasedAA =
false;
97 QRhiTexture *m_texture =
nullptr;
99 QRhiTextureRenderTarget *m_textureRenderTarget =
nullptr;
100 QRhiRenderPassDescriptor *m_textureRenderPassDescriptor =
nullptr;
102 QRhiTextureRenderTarget *m_ssaaTextureToTextureRenderTarget =
nullptr;
103 QRhiRenderPassDescriptor *m_ssaaTextureToTextureRenderPassDescriptor =
nullptr;
104 QRhiRenderBuffer *m_msaaRenderBufferLegacy =
nullptr;
105 QRhiTexture *m_msaaRenderTexture =
nullptr;
106 QRhiTexture *m_msaaMultiViewRenderBuffer =
nullptr;
107 QRhiTexture *m_ssaaTexture =
nullptr;
108 QRhiTexture *m_temporalAATexture =
nullptr;
109 QRhiTexture *m_prevTempAATexture =
nullptr;
110 QRhiTextureRenderTarget *m_temporalAARenderTarget =
nullptr;
111 QRhiRenderPassDescriptor *m_temporalAARenderPassDescriptor =
nullptr;
112 QRhiRenderBuffer *m_depthStencilBuffer =
nullptr;
113 QRhiTexture *m_multiViewDepthStencilBuffer =
nullptr;
114 bool m_textureNeedsFlip =
true;
116 QColor m_userBackgroundColor =
Qt::
black;
117 QColor m_linearBackgroundColor =
Qt::
black;
118 QColor m_tonemappedBackgroundColor =
Qt::
black;
120 QSSGRhiEffectSystem *m_effectSystem =
nullptr;
122 QPointer<QQuick3DRenderStats> m_renderStats;
124 QSSGRenderNode *m_sceneRootNode =
nullptr;
125 QSSGRenderNode *m_importSceneRootNode =
nullptr;
127 bool m_prepared =
false;
129 QSSGLightmapperOptions lmOptions;
130 bool m_lightmapBakingFromCmdRequested =
false;
131 bool m_lightmapDenoisingFromCmdRequested =
false;
133 int m_requestedFramesCount = 0;
134 bool m_postProcessingStack =
false;
135 bool m_useFBO =
false;
139 friend class QQuick3DSGRenderNode;
141 friend class QQuick3DViewport;
143 friend class QQuick3DRenderLayerHelpers;
friend class QSSGLayerRenderData
Q_TRACE_POINT(qtquick3d, QSSG_synchronize_entry, QQuick3DViewport *view3D, const QSize &size, float dpr)