93 Qt3DRender::QFrameGraphNode *
frameGraphRoot() {
return mRenderSurfaceSelector; }
96 Qt3DRender::QCamera *
mainCamera() {
return mMainCamera; }
102 Qt3DRender::QRenderCapture *renderCapture();
105 Qt3DRender::QRenderCapture *depthRenderCapture();
108 void addGlobalParameters(
const QList<Qt3DRender::QParameter *> ¶meters );
111 void setFrustumCullingEnabled(
bool enabled );
114 void setClearColor(
const QColor &clearColor );
117 void setSize( QSize s );
123 void setRenderCaptureEnabled(
bool enabled );
129 void setDebugOverlayEnabled(
bool enabled );
135 void setMsaaEnabled(
bool enabled );
144 QString dumpFrameGraph()
const;
147 QString dumpSceneGraph()
const;
156 void addClipPlanes(
int nrClipPlanes );
164 void removeClipPlanes();
173 bool registerRenderView( std::unique_ptr<QgsAbstractRenderView> renderView,
const QString &name, Qt3DRender::QFrameGraphNode *topNode =
nullptr );
179 void unregisterRenderView(
const QString &name );
185 void setRenderViewEnabled(
const QString &name,
bool enable );
191 bool isRenderViewEnabled(
const QString &name );
297 Qt3DRender::QRenderSurfaceSelector *mRenderSurfaceSelector =
nullptr;
298 Qt3DRender::QViewport *mMainViewPort =
nullptr;
300 Qt3DRender::QCamera *mMainCamera =
nullptr;
306 Qt3DRender::QRenderPassFilter *mGlobalParamsStorage =
nullptr;
310 Qt3DRender::QRenderCapture *mThumbnailCapture =
nullptr;
311 Qt3DRender::QTexture2D *mThumbnailTexture =
nullptr;
314 Qt3DRender::QCameraSelector *mRubberBandsCameraSelector =
nullptr;
315 Qt3DRender::QLayerFilter *mRubberBandsLayerFilter =
nullptr;
316 Qt3DRender::QRenderStateSet *mRubberBandsStateSet =
nullptr;
317 Qt3DRender::QRenderTargetSelector *mRubberBandsRenderTargetSelector =
nullptr;
319 QSize mSize = QSize( 1024, 768 );
321 QVector3D mLightDirection = QVector3D( 0.0, -1.0f, 0.0f );
323 Qt3DCore::QEntity *mRootEntity =
nullptr;
325 Qt3DRender::QLayer *mRubberBandsLayer =
nullptr;
327 Qt3DCore::QEntity *mRubberBandsRootEntity =
nullptr;
332 void constructShadowRenderPass();
333 void constructForwardRenderPass();
334 void constructHighlightsPass();
335 void constructOverlayTexturePass( Qt3DRender::QFrameGraphNode *topNode =
nullptr );
336 void constructPostprocessingPass( Qt3DRender::QFrameGraphNode *topNode =
nullptr );
337 void constructDepthRenderPass();
338 void constructAmbientOcclusionRenderPass();
339 void constructBloomRenderPass();
340 Qt3DRender::QFrameGraphNode *constructRubberBandsPass();
341 void constructMsaaBlitNodes();
343 void constructThumbnailCapturePass();
344 void updateThumbnailTextureSize();
345 void onThumbnailCaptureCompleted( Qt3DRender::QRenderCaptureReply *reply );
347 bool mMsaaEnabled =
false;
348 bool mMsaaBlitConfigured =
false;
349 Qt3DRender::QBlitFramebuffer *mMsaaBlitNode =
nullptr;
350 Qt3DRender::QBlitFramebuffer *mMsaaDepthBlitNode =
nullptr;
353 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.