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;
309 Qt3DRender::QRenderTargetSelector *mRenderCaptureTargetSelector =
nullptr;
310 Qt3DRender::QRenderCapture *mRenderCapture =
nullptr;
312 Qt3DRender::QTexture2D *mRenderCaptureColorTexture =
nullptr;
313 Qt3DRender::QTexture2D *mRenderCaptureDepthTexture =
nullptr;
317 Qt3DRender::QRenderCapture *mThumbnailCapture =
nullptr;
318 Qt3DRender::QTexture2D *mThumbnailTexture =
nullptr;
321 Qt3DRender::QCameraSelector *mRubberBandsCameraSelector =
nullptr;
322 Qt3DRender::QLayerFilter *mRubberBandsLayerFilter =
nullptr;
323 Qt3DRender::QRenderStateSet *mRubberBandsStateSet =
nullptr;
324 Qt3DRender::QRenderTargetSelector *mRubberBandsRenderTargetSelector =
nullptr;
326 QSize mSize = QSize( 1024, 768 );
328 QVector3D mLightDirection = QVector3D( 0.0, -1.0f, 0.0f );
330 Qt3DCore::QEntity *mRootEntity =
nullptr;
332 Qt3DRender::QLayer *mRubberBandsLayer =
nullptr;
334 Qt3DCore::QEntity *mRubberBandsRootEntity =
nullptr;
339 void constructShadowRenderPass();
340 void constructForwardRenderPass();
341 void constructHighlightsPass();
342 void constructOverlayTexturePass( Qt3DRender::QFrameGraphNode *topNode =
nullptr );
343 void constructPostprocessingPass( Qt3DRender::QFrameGraphNode *topNode =
nullptr );
344 void constructDepthRenderPass();
345 void constructAmbientOcclusionRenderPass();
346 void constructBloomRenderPass();
347 Qt3DRender::QFrameGraphNode *constructRubberBandsPass();
348 void constructMsaaBlitNodes();
350 void constructThumbnailCapturePass();
351 void updateThumbnailTextureSize();
352 void onThumbnailCaptureCompleted( Qt3DRender::QRenderCaptureReply *reply );
354 bool mMsaaEnabled =
false;
355 bool mMsaaBlitConfigured =
false;
356 Qt3DRender::QBlitFramebuffer *mMsaaBlitNode =
nullptr;
357 Qt3DRender::QBlitFramebuffer *mMsaaDepthBlitNode =
nullptr;
360 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.