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;
80 Qt3DRender::QCamera *
mainCamera()
const {
return mMainCamera; }
117 Qt3DRender::QCamera *mMainCamera =
nullptr;
119 Qt3DRender::QCameraSelector *mMainCameraSelector =
nullptr;
120 Qt3DRender::QLayerFilter *mLayerFilter =
nullptr;
121 Qt3DRender::QRenderTargetSelector *mRenderTargetSelector =
nullptr;
124 Qt3DRender::QRenderStateSet *mClipRenderStateSet =
nullptr;
126 Qt3DRender::QLayer *mRenderLayer =
nullptr;
127 Qt3DRender::QLayer *mTransparentObjectsLayer =
nullptr;
128 Qt3DRender::QLayer *mBackgroundLayer =
nullptr;
129 Qt3DRender::QClearBuffers *mClearBuffers =
nullptr;
130 bool mFrustumCullingEnabled =
true;
131 Qt3DRender::QFrustumCulling *mFrustumCulling =
nullptr;
133 Qt3DRender::QTexture2D *mColorTexture =
nullptr;
134 Qt3DRender::QTexture2D *mDepthTexture =
nullptr;
136 Qt3DRender::QDebugOverlay *mDebugOverlay =
nullptr;
138 Qt3DRender::QMultiSampleAntiAliasing *mMsaaRenderState =
nullptr;
139 Qt3DRender::QRenderTarget *mRegularRenderTarget =
nullptr;
140 Qt3DRender::QRenderTarget *mMsaaRenderTarget =
nullptr;
141 Qt3DRender::QTexture2DMultisample *mColorTextureMS =
nullptr;
142 Qt3DRender::QTexture2DMultisample *mDepthTextureMS =
nullptr;
144 int mCurrentWidth = 0;
145 int mCurrentHeight = 0;
150 void buildRenderPasses();
153 Qt3DRender::QRenderTarget *buildTextures();
156 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::QCamera * mainCamera() const
Returns main camera.
Qt3DRender::QRenderTarget * regularRenderTarget() const
Returns the regular (single-sample) render target used as blit destination and postprocessing input.