16#ifndef QGSFORWARDRENDERVIEW_H
17#define QGSFORWARDRENDERVIEW_H
25 class QRenderSettings;
27 class QSubtreeEnabler;
30 class QCameraSelector;
32 class QRenderTargetSelector;
35 class QFrustumCulling;
36 class QMultiSampleAntiAliasing;
37 class QRenderStateSet;
38 class QTexture2DMultisample;
114 Qt3DRender::QCamera *mMainCamera =
nullptr;
116 Qt3DRender::QCameraSelector *mMainCameraSelector =
nullptr;
117 Qt3DRender::QLayerFilter *mLayerFilter =
nullptr;
118 Qt3DRender::QRenderTargetSelector *mRenderTargetSelector =
nullptr;
121 Qt3DRender::QRenderStateSet *mClipRenderStateSet =
nullptr;
123 Qt3DRender::QLayer *mRenderLayer =
nullptr;
124 Qt3DRender::QLayer *mTransparentObjectsLayer =
nullptr;
125 Qt3DRender::QLayer *mBackgroundLayer =
nullptr;
126 Qt3DRender::QClearBuffers *mClearBuffers =
nullptr;
127 bool mFrustumCullingEnabled =
true;
128 Qt3DRender::QFrustumCulling *mFrustumCulling =
nullptr;
130 Qt3DRender::QTexture2D *mColorTexture =
nullptr;
131 Qt3DRender::QTexture2D *mDepthTexture =
nullptr;
133 Qt3DRender::QDebugOverlay *mDebugOverlay =
nullptr;
135 Qt3DRender::QMultiSampleAntiAliasing *mMsaaRenderState =
nullptr;
136 Qt3DRender::QRenderTarget *mRegularRenderTarget =
nullptr;
137 Qt3DRender::QRenderTarget *mMsaaRenderTarget =
nullptr;
138 Qt3DRender::QTexture2DMultisample *mColorTextureMS =
nullptr;
139 Qt3DRender::QTexture2DMultisample *mDepthTextureMS =
nullptr;
141 int mCurrentWidth = 0;
142 int mCurrentHeight = 0;
147 void buildRenderPasses();
150 Qt3DRender::QRenderTarget *buildTextures();
153 Qt3DRender::QRenderTarget *buildMsaaTarget();
QgsAbstractRenderView(const QString &viewName)
Constructor for QgsAbstractRenderView with the specified parent object.
Qt3DRender::QRenderTargetSelector * renderTargetSelector()
Returns current render target selector.
Qt3DRender::QLayer * renderLayer()
Returns a layer object used to indicate that the object is transparent.
void setClearColor(const QColor &clearColor)
Sets the clear color of the scene (background color).
Qt3DRender::QTexture2D * colorTexture() const
Returns forward color texture.
Qt3DRender::QLayer * transparentObjectLayer()
Returns a layer object used to indicate that the object is transparent.
void setDebugOverlayEnabled(bool enabled)
Sets whether debug overlay is enabled.
void setMsaaEnabled(bool enabled)
Sets whether multisample anti-aliasing (MSAA) is enabled.
void updateWindowResize(int width, int height) override
Called when 3D window is resized.
void setFrustumCullingEnabled(bool enabled)
Sets whether frustum culling is enabled.
bool isFrustumCullingEnabled() const
Returns whether frustum culling is enabled.
Qt3DRender::QTexture2D * depthTexture() const
Returns forward depth texture.
void addClipPlanes(int nrClipPlanes)
Setups nrClipPlanes clip planes in the forward pass to enable OpenGL clipping.
void removeClipPlanes()
Disables OpenGL clipping.
Qt3DRender::QRenderTarget * msaaRenderTarget() const
Returns the multisampled render target used as blit source when MSAA is enabled.
QgsForwardRenderView(const QString &viewName, Qt3DRender::QCamera *mainCamera)
Constructor with 3D scene camera.
Qt3DRender::QLayer * backgroundLayer()
Returns a layer object used for skybox and background gradient entities.
Qt3DRender::QRenderTarget * regularRenderTarget() const
Returns the regular (single-sample) render target used as blit destination and postprocessing input.