83 Qt3DRender::QFrameGraphNode *
frameGraphRoot() {
return mRenderSurfaceSelector; }
86 Qt3DRender::QCamera *
mainCamera() {
return mMainCamera; }
95 Qt3DRender::QRenderCapture *renderCapture();
98 Qt3DRender::QRenderCapture *depthRenderCapture();
101 void setFrustumCullingEnabled(
bool enabled );
104 void setClearColor(
const QColor &clearColor );
107 void setSize( QSize s );
113 void setRenderCaptureEnabled(
bool enabled );
119 void setDebugOverlayEnabled(
bool enabled );
125 void setMsaaEnabled(
bool enabled );
134 QString dumpFrameGraph()
const;
137 QString dumpSceneGraph()
const;
146 void addClipPlanes(
int nrClipPlanes );
154 void removeClipPlanes();
163 bool registerRenderView( std::unique_ptr<QgsAbstractRenderView> renderView,
const QString &name, Qt3DRender::QFrameGraphNode *topNode =
nullptr );
169 void unregisterRenderView(
const QString &name );
175 void setRenderViewEnabled(
const QString &name,
bool enable );
181 bool isRenderViewEnabled(
const QString &name );
229 void updateShadowSettings(
const QgsShadowSettings &shadowSettings,
const QList<QgsLightSource *> &lightSources );
265 Qt3DRender::QRenderSurfaceSelector *mRenderSurfaceSelector =
nullptr;
266 Qt3DRender::QViewport *mMainViewPort =
nullptr;
268 Qt3DRender::QCamera *mMainCamera =
nullptr;
271 Qt3DRender::QRenderTargetSelector *mRenderCaptureTargetSelector =
nullptr;
272 Qt3DRender::QRenderCapture *mRenderCapture =
nullptr;
274 Qt3DRender::QTexture2D *mRenderCaptureColorTexture =
nullptr;
275 Qt3DRender::QTexture2D *mRenderCaptureDepthTexture =
nullptr;
278 Qt3DRender::QCameraSelector *mRubberBandsCameraSelector =
nullptr;
279 Qt3DRender::QLayerFilter *mRubberBandsLayerFilter =
nullptr;
280 Qt3DRender::QRenderStateSet *mRubberBandsStateSet =
nullptr;
281 Qt3DRender::QRenderTargetSelector *mRubberBandsRenderTargetSelector =
nullptr;
283 QSize mSize = QSize( 1024, 768 );
285 QVector3D mLightDirection = QVector3D( 0.0, -1.0f, 0.0f );
287 Qt3DCore::QEntity *mRootEntity =
nullptr;
289 Qt3DRender::QLayer *mRubberBandsLayer =
nullptr;
293 Qt3DCore::QEntity *mRubberBandsRootEntity =
nullptr;
300 void constructShadowRenderPass();
301 void constructForwardRenderPass();
302 void constructHighlightsPass();
303 void constructOverlayTexturePass( Qt3DRender::QFrameGraphNode *topNode =
nullptr );
304 Qt3DRender::QFrameGraphNode *constructPostprocessingPass();
305 void constructDepthRenderPass();
306 void constructAmbientOcclusionRenderPass();
307 Qt3DRender::QFrameGraphNode *constructRubberBandsPass();
308 void constructMsaaBlitNodes();
310 Qt3DRender::QFrameGraphNode *constructSubPostPassForProcessing();
311 Qt3DRender::QFrameGraphNode *constructSubPostPassForRenderCapture();
313 bool mRenderCaptureEnabled =
false;
314 bool mMsaaEnabled =
false;
315 bool mMsaaBlitConfigured =
false;
316 Qt3DRender::QBlitFramebuffer *mMsaaBlitNode =
nullptr;
317 Qt3DRender::QBlitFramebuffer *mMsaaDepthBlitNode =
nullptr;
320 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.