4#ifndef QSSGSCENERENDERER_H
5#define QSSGSCENERENDERER_H
18#include <QtQuick3DRuntimeRender/private/qssgrendercontextcore_p.h>
22#include <QSGSimpleTextureNode>
24#include <QtQuick3D/private/qquick3dviewport_p.h>
25#include <QtQuick3DRuntimeRender/private/qssgrenderlayer_p.h>
26#include <QtQuick3DRuntimeRender/private/qssgrhieffectsystem_p.h>
27#include <QtQuick3DRuntimeRender/private/qssgrenderer_p.h>
74 void releaseAaDependentRhiResources();
78 std::shared_ptr<QSSGRenderContextInterface> m_sgContext;
83 bool m_aaIsDirty =
true;
100 bool m_textureNeedsFlip =
true;
113 float m_ssaaMultiplier = 1.5f;
115 bool m_prepared =
false;
117 int requestedFramesCount = 0;
118 bool m_postProcessingStack =
false;
170 RenderingFlags
flags()
const override;
202 bool m_isVisible =
true;
204 bool renderPending =
false;
The QColor class provides colors based on RGB, HSV or CMYK values.
\inmodule QtCore\reentrant
~QQuick3DSGDirectRenderer()
QQuick3DSceneRenderer * renderer()
void setViewport(const QRectF &viewport)
void setVisibility(bool visible)
QQuick3DSGDirectRendererMode
void render(const RenderState *state) override
This function is called by the renderer and should paint this node with directly invoking commands in...
void releaseResources() override
This function is called when all custom graphics resources allocated by this node have to be freed im...
RenderingFlags flags() const override
void prepare() override
Called from the frame preparation phase.
QQuick3DSceneRenderer * renderer
StateFlags changedStates() const override
When the underlying rendering API is OpenGL, this function should return a mask where each bit repres...
QQuick3DEnvironmentTonemapModes tonemapMode
virtual bool useBuiltinTonemapper() const
QSSGRenderPickResult syncPickOne(const QSSGRenderRay &ray, QSSGRenderNode *node)
QRhiTexture * renderToRhiTexture(QQuickWindow *qw)
void invalidateFramebufferObject()
void rhiPrepare(const QRect &viewport, qreal displayPixelRatio)
void synchronize(QQuick3DViewport *view3D, const QSize &size, float dpr)
std::optional< QSSGRenderRay > getRayFromViewportPos(const QPointF &pos)
QSize surfaceSize() const
PickResultList syncPickAll(const QSSGRenderRay &ray)
static QSSGRenderLayer::TonemapMode getTonemapMode(const QQuick3DSceneEnvironment &environment)
void setGlobalPickingEnabled(bool isEnabled)
QQuick3DRenderStats * renderStats()
void releaseCachedResources()
QSSGRenderPickResult syncPick(const QSSGRenderRay &ray)
\qmltype Window \instantiates QQuickWindow \inqmlmodule QtQuick
\inmodule QtCore\reentrant
\inmodule QtCore\reentrant
The QSGRenderNode class represents a set of custom rendering commands targeting the graphics API that...
The QSGSimpleTextureNode class is provided for convenience to easily draw textured content using the ...
The QSGTextureProvider class encapsulates texture based entities in QML.
SGFramebufferObjectNode()
~SGFramebufferObjectNode() override
QQuick3DSceneRenderer * renderer
void handleScreenChange()
QSGTexture * texture() const override
Returns a pointer to the texture object.
void preprocess() override
Override this function to do processing on the node before it is rendered.
QQuick3DViewport * quickFbo
Q_QUICK3D_EXPORT void updateLayerNodeHelper(const QQuick3DViewport &view3D, QSSGRenderLayer &layerNode, bool &aaIsDirty, bool &temporalIsDirty, float &ssaaMultiplier)
Combined button and popup list for selecting options.
GLenum GLuint GLintptr GLsizeiptr size
[1]
#define Q_QUICK3D_PROFILE_ID
static QT_BEGIN_NAMESPACE qreal dpr(const QWindow *w)
view viewport() -> scroll(dx, dy, deviceRect)