92 Qt3DRender::QFrameGraphNode *
frameGraphRoot() {
return mRenderSurfaceSelector; }
95 Qt3DRender::QCamera *
mainCamera() {
return mMainCamera; }
104 Qt3DRender::QRenderCapture *renderCapture();
107 Qt3DRender::QRenderCapture *depthRenderCapture();
110 void addGlobalParameters(
const QList<Qt3DRender::QParameter *> ¶meters );
113 void setFrustumCullingEnabled(
bool enabled );
116 void setClearColor(
const QColor &clearColor );
119 void setSize( QSize s );
125 void setRenderCaptureEnabled(
bool enabled );
131 void setDebugOverlayEnabled(
bool enabled );
137 void setMsaaEnabled(
bool enabled );
146 QString dumpFrameGraph()
const;
149 QString dumpSceneGraph()
const;
158 void addClipPlanes(
int nrClipPlanes );
166 void removeClipPlanes();
175 bool registerRenderView( std::unique_ptr<QgsAbstractRenderView> renderView,
const QString &name, Qt3DRender::QFrameGraphNode *topNode =
nullptr );
181 void unregisterRenderView(
const QString &name );
187 void setRenderViewEnabled(
const QString &name,
bool enable );
193 bool isRenderViewEnabled(
const QString &name );
291 Qt3DRender::QRenderSurfaceSelector *mRenderSurfaceSelector =
nullptr;
292 Qt3DRender::QViewport *mMainViewPort =
nullptr;
294 Qt3DRender::QCamera *mMainCamera =
nullptr;
300 Qt3DRender::QRenderPassFilter *mGlobalParamsStorage =
nullptr;
303 Qt3DRender::QRenderTargetSelector *mRenderCaptureTargetSelector =
nullptr;
304 Qt3DRender::QRenderCapture *mRenderCapture =
nullptr;
306 Qt3DRender::QTexture2D *mRenderCaptureColorTexture =
nullptr;
307 Qt3DRender::QTexture2D *mRenderCaptureDepthTexture =
nullptr;
311 Qt3DRender::QRenderCapture *mThumbnailCapture =
nullptr;
312 Qt3DRender::QTexture2D *mThumbnailTexture =
nullptr;
315 Qt3DRender::QCameraSelector *mRubberBandsCameraSelector =
nullptr;
316 Qt3DRender::QLayerFilter *mRubberBandsLayerFilter =
nullptr;
317 Qt3DRender::QRenderStateSet *mRubberBandsStateSet =
nullptr;
318 Qt3DRender::QRenderTargetSelector *mRubberBandsRenderTargetSelector =
nullptr;
320 QSize mSize = QSize( 1024, 768 );
322 QVector3D mLightDirection = QVector3D( 0.0, -1.0f, 0.0f );
324 Qt3DCore::QEntity *mRootEntity =
nullptr;
326 Qt3DRender::QLayer *mRubberBandsLayer =
nullptr;
330 Qt3DCore::QEntity *mRubberBandsRootEntity =
nullptr;
335 void constructShadowRenderPass();
336 void constructForwardRenderPass();
337 void constructHighlightsPass();
338 void constructOverlayTexturePass( Qt3DRender::QFrameGraphNode *topNode =
nullptr );
339 Qt3DRender::QFrameGraphNode *constructPostprocessingPass();
340 void constructDepthRenderPass();
341 void constructAmbientOcclusionRenderPass();
342 void constructBloomRenderPass();
343 Qt3DRender::QFrameGraphNode *constructRubberBandsPass();
344 void constructMsaaBlitNodes();
346 Qt3DRender::QFrameGraphNode *constructSubPostPassForProcessing();
347 Qt3DRender::QFrameGraphNode *constructSubPostPassForRenderCapture();
349 void constructThumbnailCapturePass();
350 void updateThumbnailTextureSize();
351 void onThumbnailCaptureCompleted( Qt3DRender::QRenderCaptureReply *reply );
353 bool mRenderCaptureEnabled =
false;
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.