94 Qt3DRender::QFrameGraphNode *
frameGraphRoot() {
return mRenderSurfaceSelector; }
97 Qt3DRender::QCamera *
mainCamera() {
return mMainCamera; }
100 Qt3DRender::QRenderCapture *renderCapture();
103 Qt3DRender::QRenderCapture *depthRenderCapture();
106 void addGlobalParameters(
const QList<Qt3DRender::QParameter *> ¶meters );
109 void setFrustumCullingEnabled(
bool enabled );
112 void setClearColor(
const QColor &clearColor );
115 void setSize( QSize s );
121 void setRenderCaptureEnabled(
bool enabled );
127 void setDebugOverlayEnabled(
bool enabled );
133 void setMsaaEnabled(
bool enabled );
142 QString dumpFrameGraph()
const;
145 QString dumpSceneGraph()
const;
154 void addClipPlanes(
int nrClipPlanes );
162 void removeClipPlanes();
171 bool registerRenderView( std::unique_ptr<QgsAbstractRenderView> renderView,
const QString &name, Qt3DRender::QFrameGraphNode *topNode =
nullptr );
177 void unregisterRenderView(
const QString &name );
183 void setRenderViewEnabled(
const QString &name,
bool enable );
189 bool isRenderViewEnabled(
const QString &name );
302 Qt3DRender::QRenderSurfaceSelector *mRenderSurfaceSelector =
nullptr;
303 Qt3DRender::QViewport *mMainViewPort =
nullptr;
305 Qt3DRender::QCamera *mMainCamera =
nullptr;
311 Qt3DRender::QRenderPassFilter *mGlobalParamsStorage =
nullptr;
315 Qt3DRender::QRenderCapture *mThumbnailCapture =
nullptr;
316 Qt3DRender::QTexture2D *mThumbnailTexture =
nullptr;
318 QSize mSize = QSize( 1024, 768 );
320 QVector3D mLightDirection = QVector3D( 0.0, -1.0f, 0.0f );
322 Qt3DCore::QEntity *mRootEntity =
nullptr;
327 void constructShadowRenderPass();
328 void constructForwardRenderPass();
329 void constructHighlightsPass();
330 void constructOverlayTexturePass( Qt3DRender::QFrameGraphNode *topNode =
nullptr );
331 void constructPostprocessingPass( Qt3DRender::QFrameGraphNode *topNode =
nullptr );
332 void constructDepthRenderPass();
333 void constructAmbientOcclusionRenderPass();
334 void constructBloomRenderPass();
335 void constructRubberBandsPass( Qt3DRender::QFrameGraphNode *topNode =
nullptr );
336 void constructMsaaBlitNodes();
338 void constructThumbnailCapturePass();
339 void updateThumbnailTextureSize();
340 void onThumbnailCaptureCompleted( Qt3DRender::QRenderCaptureReply *reply );
342 bool mMsaaEnabled =
false;
343 bool mMsaaBlitConfigured =
false;
344 Qt3DRender::QBlitFramebuffer *mMsaaBlitNode =
nullptr;
345 Qt3DRender::QBlitFramebuffer *mMsaaDepthBlitNode =
nullptr;
346 Qt3DRender::QClearBuffers *mMsaaClearBuffers =
nullptr;
349 std::map<QString, std::unique_ptr<QgsAbstractRenderView>> mRenderViewMap;
An entity responsible for rendering an overlay texture in 3D view.
Simple render view to preview overlay textures in 3D view.
An entity that is responsible for applying post processing effects.
Container class that holds different objects related to postprocessing rendering.