85 Qt3DRender::QFrameGraphNode *
frameGraphRoot() {
return mRenderSurfaceSelector; }
88 Qt3DRender::QCamera *
mainCamera() {
return mMainCamera; }
97 Qt3DRender::QRenderCapture *renderCapture();
100 Qt3DRender::QRenderCapture *depthRenderCapture();
103 void addGlobalParameters(
const QList<Qt3DRender::QParameter *> ¶meters );
106 void setFrustumCullingEnabled(
bool enabled );
109 void setClearColor(
const QColor &clearColor );
112 void setSize( QSize s );
118 void setRenderCaptureEnabled(
bool enabled );
124 void setDebugOverlayEnabled(
bool enabled );
130 void setMsaaEnabled(
bool enabled );
139 QString dumpFrameGraph()
const;
142 QString dumpSceneGraph()
const;
151 void addClipPlanes(
int nrClipPlanes );
159 void removeClipPlanes();
168 bool registerRenderView( std::unique_ptr<QgsAbstractRenderView> renderView,
const QString &name, Qt3DRender::QFrameGraphNode *topNode =
nullptr );
174 void unregisterRenderView(
const QString &name );
180 void setRenderViewEnabled(
const QString &name,
bool enable );
186 bool isRenderViewEnabled(
const QString &name );
240 void updateShadowSettings(
const QgsShadowSettings &shadowSettings,
const QList<QgsLightSource *> &lightSources );
277 Qt3DRender::QRenderSurfaceSelector *mRenderSurfaceSelector =
nullptr;
278 Qt3DRender::QViewport *mMainViewPort =
nullptr;
280 Qt3DRender::QCamera *mMainCamera =
nullptr;
286 Qt3DRender::QRenderPassFilter *mGlobalParamsStorage =
nullptr;
289 Qt3DRender::QRenderTargetSelector *mRenderCaptureTargetSelector =
nullptr;
290 Qt3DRender::QRenderCapture *mRenderCapture =
nullptr;
292 Qt3DRender::QTexture2D *mRenderCaptureColorTexture =
nullptr;
293 Qt3DRender::QTexture2D *mRenderCaptureDepthTexture =
nullptr;
296 Qt3DRender::QCameraSelector *mRubberBandsCameraSelector =
nullptr;
297 Qt3DRender::QLayerFilter *mRubberBandsLayerFilter =
nullptr;
298 Qt3DRender::QRenderStateSet *mRubberBandsStateSet =
nullptr;
299 Qt3DRender::QRenderTargetSelector *mRubberBandsRenderTargetSelector =
nullptr;
301 QSize mSize = QSize( 1024, 768 );
303 QVector3D mLightDirection = QVector3D( 0.0, -1.0f, 0.0f );
305 Qt3DCore::QEntity *mRootEntity =
nullptr;
307 Qt3DRender::QLayer *mRubberBandsLayer =
nullptr;
311 Qt3DCore::QEntity *mRubberBandsRootEntity =
nullptr;
316 void constructShadowRenderPass();
317 void constructForwardRenderPass();
318 void constructHighlightsPass();
319 void constructOverlayTexturePass( Qt3DRender::QFrameGraphNode *topNode =
nullptr );
320 Qt3DRender::QFrameGraphNode *constructPostprocessingPass();
321 void constructDepthRenderPass();
322 void constructAmbientOcclusionRenderPass();
323 void constructBloomRenderPass();
324 Qt3DRender::QFrameGraphNode *constructRubberBandsPass();
325 void constructMsaaBlitNodes();
327 Qt3DRender::QFrameGraphNode *constructSubPostPassForProcessing();
328 Qt3DRender::QFrameGraphNode *constructSubPostPassForRenderCapture();
330 bool mRenderCaptureEnabled =
false;
331 bool mMsaaEnabled =
false;
332 bool mMsaaBlitConfigured =
false;
333 Qt3DRender::QBlitFramebuffer *mMsaaBlitNode =
nullptr;
334 Qt3DRender::QBlitFramebuffer *mMsaaDepthBlitNode =
nullptr;
337 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.