70 Qt3DRender::QFrameGraphNode *
frameGraphRoot() {
return mRenderSurfaceSelector; }
99 Qt3DRender::QCamera *
mainCamera() {
return mMainCamera; }
189 QgsPreviewQuad *
addTexturePreviewOverlay( Qt3DRender::QTexture2D *texture,
const QPointF ¢erNDC,
const QSizeF &size, QVector<Qt3DRender::QParameter *> additionalShaderParameters = QVector<Qt3DRender::QParameter *>() );
226 Qt3DRender::QRenderSurfaceSelector *mRenderSurfaceSelector =
nullptr;
227 Qt3DRender::QViewport *mMainViewPort =
nullptr;
228 bool mFrustumCullingEnabled =
true;
230 Qt3DRender::QCamera *mMainCamera =
nullptr;
231 Qt3DRender::QCamera *mLightCamera =
nullptr;
234 Qt3DRender::QCameraSelector *mMainCameraSelector =
nullptr;
235 Qt3DRender::QLayerFilter *mForwardRenderLayerFilter =
nullptr;
236 Qt3DRender::QRenderTargetSelector *mForwardRenderTargetSelector =
nullptr;
237 Qt3DRender::QClearBuffers *mForwardClearBuffers =
nullptr;
238 Qt3DRender::QFrustumCulling *mFrustumCulling =
nullptr;
240 Qt3DRender::QTexture2D *mForwardColorTexture =
nullptr;
241 Qt3DRender::QTexture2D *mForwardDepthTexture =
nullptr;
243 Qt3DRender::QDebugOverlay *mDebugOverlay =
nullptr;
246 Qt3DRender::QCameraSelector *mLightCameraSelectorShadowPass =
nullptr;
247 Qt3DRender::QLayerFilter *mShadowSceneEntitiesFilter =
nullptr;
248 Qt3DRender::QRenderTargetSelector *mShadowRenderTargetSelector =
nullptr;
249 Qt3DRender::QClearBuffers *mShadowClearBuffers =
nullptr;
250 Qt3DRender::QRenderStateSet *mShadowRenderStateSet =
nullptr;
252 Qt3DRender::QTexture2D *mShadowMapTexture =
nullptr;
258 Qt3DRender::QCameraSelector *mDepthRenderCameraSelector =
nullptr;
259 Qt3DRender::QRenderStateSet *mDepthRenderStateSet =
nullptr;
260 Qt3DRender::QLayerFilter *mDepthRenderLayerFilter =
nullptr;
261 Qt3DRender::QRenderTargetSelector *mDepthRenderCaptureTargetSelector =
nullptr;
262 Qt3DRender::QRenderCapture *mDepthRenderCapture =
nullptr;
264 Qt3DRender::QTexture2D *mDepthRenderCaptureDepthTexture =
nullptr;
265 Qt3DRender::QTexture2D *mDepthRenderCaptureColorTexture =
nullptr;
268 Qt3DRender::QRenderTargetSelector *mRenderCaptureTargetSelector =
nullptr;
269 Qt3DRender::QRenderCapture *mRenderCapture =
nullptr;
271 Qt3DRender::QTexture2D *mRenderCaptureColorTexture =
nullptr;
272 Qt3DRender::QTexture2D *mRenderCaptureDepthTexture =
nullptr;
275 Qt3DRender::QCameraSelector *mAmbientOcclusionRenderCameraSelector =
nullptr;
276 Qt3DRender::QRenderStateSet *mAmbientOcclusionRenderStateSet =
nullptr;
277 Qt3DRender::QLayerFilter *mAmbientOcclusionRenderLayerFilter =
nullptr;
278 Qt3DRender::QRenderTargetSelector *mAmbientOcclusionRenderCaptureTargetSelector =
nullptr;
280 Qt3DRender::QTexture2D *mAmbientOcclusionRenderTexture =
nullptr;
283 Qt3DRender::QCameraSelector *mAmbientOcclusionBlurCameraSelector =
nullptr;
284 Qt3DRender::QRenderStateSet *mAmbientOcclusionBlurStateSet =
nullptr;
285 Qt3DRender::QLayerFilter *mAmbientOcclusionBlurLayerFilter =
nullptr;
286 Qt3DRender::QRenderTargetSelector *mAmbientOcclusionBlurRenderCaptureTargetSelector =
nullptr;
288 Qt3DRender::QTexture2D *mAmbientOcclusionBlurTexture =
nullptr;
291 Qt3DRender::QCameraSelector *mRubberBandsCameraSelector =
nullptr;
292 Qt3DRender::QLayerFilter *mRubberBandsLayerFilter =
nullptr;
293 Qt3DRender::QRenderStateSet *mRubberBandsStateSet =
nullptr;
294 Qt3DRender::QRenderTargetSelector *mRubberBandsRenderTargetSelector =
nullptr;
296 bool mShadowRenderingEnabled =
false;
297 float mShadowBias = 0.00001f;
298 int mShadowMapResolution = 2048;
301 bool mAmbientOcclusionEnabled =
false;
302 float mAmbientOcclusionIntensity = 0.5f;
303 float mAmbientOcclusionRadius = 25.f;
304 float mAmbientOcclusionThreshold = 0.5f;
306 QSize mSize = QSize( 1024, 768 );
308 bool mEyeDomeLightingEnabled =
false;
309 double mEyeDomeLightingStrength = 1000.0;
310 int mEyeDomeLightingDistance = 1;
315 QEntity *mDepthRenderQuad =
nullptr;
317 QVector3D mLightDirection = QVector3D( 0.0, -1.0f, 0.0f );
319 Qt3DCore::QEntity *mRootEntity =
nullptr;
321 Qt3DRender::QLayer *mPreviewLayer =
nullptr;
322 Qt3DRender::QLayer *mForwardRenderLayer =
nullptr;
323 Qt3DRender::QLayer *mCastShadowsLayer =
nullptr;
324 Qt3DRender::QLayer *mDepthRenderPassLayer =
nullptr;
325 Qt3DRender::QLayer *mTransparentObjectsPassLayer =
nullptr;
326 Qt3DRender::QLayer *mRubberBandsLayer =
nullptr;
332 Qt3DCore::QEntity *mRubberBandsRootEntity =
nullptr;
334 QVector<QgsPreviewQuad *> mPreviewQuads;
336 Qt3DRender::QFrameGraphNode *constructShadowRenderPass();
337 Qt3DRender::QFrameGraphNode *constructForwardRenderPass();
338 Qt3DRender::QFrameGraphNode *constructPostprocessingPass();
339 Qt3DRender::QFrameGraphNode *constructDepthRenderPass();
340 Qt3DRender::QFrameGraphNode *constructAmbientOcclusionRenderPass();
341 Qt3DRender::QFrameGraphNode *constructAmbientOcclusionBlurPass();
342 Qt3DRender::QFrameGraphNode *constructRubberBandsPass();
344 Qt3DRender::QFrameGraphNode *constructSubPostPassForProcessing();
345 Qt3DRender::QFrameGraphNode *constructSubPostPassForRenderCapture();
346 Qt3DRender::QFrameGraphNode *constructSubPostPassForTexturesPreview();
348 Qt3DCore::QEntity *constructDepthRenderQuad();
350 bool mRenderCaptureEnabled =
false;