84 Qt3DRender::QFrameGraphNode *
frameGraphRoot() {
return mRenderSurfaceSelector; }
87 Qt3DRender::QCamera *
mainCamera() {
return mMainCamera; }
96 Qt3DRender::QRenderCapture *renderCapture();
99 Qt3DRender::QRenderCapture *depthRenderCapture();
102 void addGlobalParameters(
const QList<Qt3DRender::QParameter *> ¶meters );
105 void setFrustumCullingEnabled(
bool enabled );
108 void setClearColor(
const QColor &clearColor );
111 void setSize( QSize s );
117 void setRenderCaptureEnabled(
bool enabled );
123 void setDebugOverlayEnabled(
bool enabled );
129 void setMsaaEnabled(
bool enabled );
138 QString dumpFrameGraph()
const;
141 QString dumpSceneGraph()
const;
150 void addClipPlanes(
int nrClipPlanes );
158 void removeClipPlanes();
167 bool registerRenderView( std::unique_ptr<QgsAbstractRenderView> renderView,
const QString &name, Qt3DRender::QFrameGraphNode *topNode =
nullptr );
173 void unregisterRenderView(
const QString &name );
179 void setRenderViewEnabled(
const QString &name,
bool enable );
185 bool isRenderViewEnabled(
const QString &name );
233 void updateShadowSettings(
const QgsShadowSettings &shadowSettings,
const QList<QgsLightSource *> &lightSources );
269 Qt3DRender::QRenderSurfaceSelector *mRenderSurfaceSelector =
nullptr;
270 Qt3DRender::QViewport *mMainViewPort =
nullptr;
272 Qt3DRender::QCamera *mMainCamera =
nullptr;
278 Qt3DRender::QRenderPassFilter *mGlobalParamsStorage =
nullptr;
281 Qt3DRender::QRenderTargetSelector *mRenderCaptureTargetSelector =
nullptr;
282 Qt3DRender::QRenderCapture *mRenderCapture =
nullptr;
284 Qt3DRender::QTexture2D *mRenderCaptureColorTexture =
nullptr;
285 Qt3DRender::QTexture2D *mRenderCaptureDepthTexture =
nullptr;
288 Qt3DRender::QCameraSelector *mRubberBandsCameraSelector =
nullptr;
289 Qt3DRender::QLayerFilter *mRubberBandsLayerFilter =
nullptr;
290 Qt3DRender::QRenderStateSet *mRubberBandsStateSet =
nullptr;
291 Qt3DRender::QRenderTargetSelector *mRubberBandsRenderTargetSelector =
nullptr;
293 QSize mSize = QSize( 1024, 768 );
295 QVector3D mLightDirection = QVector3D( 0.0, -1.0f, 0.0f );
297 Qt3DCore::QEntity *mRootEntity =
nullptr;
299 Qt3DRender::QLayer *mRubberBandsLayer =
nullptr;
303 Qt3DCore::QEntity *mRubberBandsRootEntity =
nullptr;
310 void constructShadowRenderPass();
311 void constructForwardRenderPass();
312 void constructHighlightsPass();
313 void constructOverlayTexturePass( Qt3DRender::QFrameGraphNode *topNode =
nullptr );
314 Qt3DRender::QFrameGraphNode *constructPostprocessingPass();
315 void constructDepthRenderPass();
316 void constructAmbientOcclusionRenderPass();
317 Qt3DRender::QFrameGraphNode *constructRubberBandsPass();
318 void constructMsaaBlitNodes();
320 Qt3DRender::QFrameGraphNode *constructSubPostPassForProcessing();
321 Qt3DRender::QFrameGraphNode *constructSubPostPassForRenderCapture();
323 bool mRenderCaptureEnabled =
false;
324 bool mMsaaEnabled =
false;
325 bool mMsaaBlitConfigured =
false;
326 Qt3DRender::QBlitFramebuffer *mMsaaBlitNode =
nullptr;
327 Qt3DRender::QBlitFramebuffer *mMsaaDepthBlitNode =
nullptr;
330 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.