Qt 6.x
The Qt SDK
Loading...
Searching...
No Matches
qssgrenderhelpers.cpp
Go to the documentation of this file.
1// Copyright (C) 2023 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
3
6
7#include <QtQuick3DRuntimeRender/private/qssgrenderer_p.h>
8#include <QtQuick3DRuntimeRender/private/qssglayerrenderdata_p.h>
9
10#include <QtQuick3DUtils/private/qssgassert_p.h>
11
13
15 QSSGPassKey passKey,
16 const QSSGFrameData &frameData,
17 QSSGRenderableObject &inObject,
18 QRhiRenderPassDescriptor *renderPassDescriptor,
20 int samples)
21{
22 auto *layerData = frameData.getCurrent();
23 QSSG_ASSERT(layerData, return);
25 passKey,
26 *layerData,
27 inObject,
28 renderPassDescriptor,
29 ps,
30 layerData->getShaderFeatures(),
31 samples);
32}
33
37 bool *needsSetViewport)
38{
39 RenderHelpers::rhiRenderRenderable(&rhiCtx, state, object, needsSetViewport);
40}
41
42QSSGRenderHelpers::QSSGRenderHelpers()
43{
44
45}
46
48 QSSGRenderableNodes &renderableModels)
49{
50 QSSGLayerRenderData::prepareModelMeshesForRenderInternal(contextInterface, renderableModels, false);
51}
52
54 const QSSGRenderableNodes &renderableModels,
57 float lodThreshold)
58{
59 auto layer = QSSGLayerRenderData::getCurrent(*contextInterface.renderer());
60 auto &flags = layer->layerPrepResult->flags; // TODO: Maybe not an optional? also, is there any point returing wasDirty here?
61 const auto &cameraData = layer->getCameraRenderData(&camera);
62 return layer->prepareModelsForRender(renderableModels, flags, cameraData, filter, lodThreshold);
63}
64
Definition qlist.h:74
\inmodule QtGui
Definition qrhi.h:1119
\inmodule QtQuick3DRuntimeRender
static bool createRenderables(QSSGRenderContextInterface &contextInterface, const QSSGRenderableNodes &renderableModels, const QSSGRenderCamera &camera, RenderableFilter filter, float lodThreshold=0.0f)
std::function< bool(QSSGModelContext *)> RenderableFilter
static void ensureMeshes(const QSSGRenderContextInterface &contextInterface, QSSGRenderableNodes &renderableModels)
const std::unique_ptr< QSSGRenderer > & renderer() const
static void rhiPrepareRenderable(QSSGRhiContext &rhiCtx, QSSGPassKey passKey, const QSSGFrameData &frameData, QSSGRenderableObject &inObject, QRhiRenderPassDescriptor *renderPassDescriptor, QSSGRhiGraphicsPipelineState *ps, int samples)
static void rhiRenderRenderable(QSSGRhiContext &rhiCtx, const QSSGRhiGraphicsPipelineState &state, QSSGRenderableObject &object, bool *needsSetViewport)
QCamera * camera
Definition camera.cpp:19
else opt state
[0]
Combined button and popup list for selecting options.
Q_QUICK3DRUNTIMERENDER_EXPORT void rhiRenderRenderable(QSSGRhiContext *rhiCtx, const QSSGRhiGraphicsPipelineState &state, QSSGRenderableObject &object, bool *needsSetViewport, int cubeFace=-1)
Q_QUICK3DRUNTIMERENDER_EXPORT void rhiPrepareRenderable(QSSGRhiContext *rhiCtx, QSSGPassKey passKey, const QSSGLayerRenderData &inData, QSSGRenderableObject &inObject, QRhiRenderPassDescriptor *renderPassDescriptor, QSSGRhiGraphicsPipelineState *ps, QSSGShaderFeatures featureSet, int samples, QSSGRenderCamera *inCamera=nullptr, QMatrix4x4 *alteredModelViewProjection=nullptr, int cubeFace=-1, QSSGReflectionMapEntry *entry=nullptr)
EGLOutputLayerEXT layer
GLsizei samples
GLbitfield flags
GLint GLint GLint GLint GLint GLint GLint GLbitfield GLenum filter
#define QSSG_ASSERT(cond, action)
const void * QSSGPassKey