Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
QSSGLayerRenderData Class Reference

#include <qssglayerrenderdata_p.h>

Collaboration diagram for QSSGLayerRenderData:

Classes

class  NodeCollection
struct  GlobalRenderProperties

Public Types

enum  Enum { MAX_AA_LEVELS = 8 , MAX_TEMPORAL_AA_LEVELS = 2 }
using InstanceTransforms = QSSGGlobalRenderNodeData::InstanceTransforms
using ModelViewProjections = QSSGRenderModelData::ModelViewProjections
using QSSGModelsView = QSSGDataView<QSSGRenderModel *>
using QSSGParticlesView = QSSGDataView<QSSGRenderParticles *>
using QSSGItem2DsView = QSSGDataView<QSSGRenderItem2D *>
using QSSGCamerasView = QSSGDataView<QSSGRenderCamera *>
using QSSGLightsView = QSSGDataView<QSSGRenderLight *>
using QSSGReflectionProbesView = QSSGDataView<QSSGRenderReflectionProbe *>
using QSSGNonCategorizedView = QSSGDataView<QSSGRenderNode *>
using RenderableFilter = std::function<bool(QSSGModelContext *)>
typedef QVector< QSSGModelContext * > TModelContextPtrList
using RenderableNodeEntries = QVector<QSSGRenderableNodeEntry>
using RenderableItem2DEntries = QVector<QSSGRenderItem2D *>
using LayerNodes = std::vector<QSSGRenderNode *>

Public Member Functions

 QSSGLayerRenderData (QSSGRenderLayer &inLayer, QSSGRenderer &inRenderer)
 ~QSSGLayerRenderData ()
void prepareImageForRender (QSSGRenderImage &inImage, QSSGRenderableImage::Type inMapType, QSSGRenderableImage *&ioFirstImage, QSSGRenderableImage *&ioNextImage, QSSGRenderableObjectFlags &ioFlags, QSSGShaderDefaultMaterialKey &ioGeneratedShaderKey, quint32 inImageIndex, QSSGRenderDefaultMaterial *inMaterial=nullptr)
void setVertexInputPresence (const QSSGRenderableObjectFlags &renderableFlags, QSSGShaderDefaultMaterialKey &key)
bool prepareModelsForRender (QSSGRenderContextInterface &ctx, const RenderableNodeEntries &renderableModels, QSSGLayerRenderPreparationResultFlags &ioFlags, const QSSGRenderCameraList &allCameras, const QSSGRenderCameraDataList &allCameraData, TModelContextPtrList &modelContexts, QSSGRenderableObjectList &opaqueObjects, QSSGRenderableObjectList &transparentObjects, QSSGRenderableObjectList &screenTextureObjects, float lodThreshold=0.0f)
bool prepareParticlesForRender (const RenderableNodeEntries &renderableParticles, const QSSGRenderCameraData &cameraData, QSSGLayerRenderPreparationResultFlags &ioFlags)
void prepareResourceLoaders ()
void prepareForRender ()
void prepareReflectionProbesForRender ()
const QSSGRenderableObjectListgetSortedOpaqueRenderableObjects (const QSSGRenderCamera &camera, size_t index=0, quint32 layerMask=0xFFFFFFFF)
const QSSGRenderableObjectListgetSortedTransparentRenderableObjects (const QSSGRenderCamera &camera, size_t index=0, quint32 layerMask=0xFFFFFFFF)
const QSSGRenderableObjectListgetSortedScreenTextureRenderableObjects (const QSSGRenderCamera &camera, size_t index=0)
const QVector< QSSGBakedLightingModel > & getSortedBakedLightingModels ()
const RenderableItem2DEntriesgetRenderableItem2Ds ()
const QSSGRenderableObjectListgetSortedRenderedDepthWriteObjects (const QSSGRenderCamera &camera, size_t index=0)
const QSSGRenderableObjectListgetSortedrenderedOpaqueDepthPrepassObjects (const QSSGRenderCamera &camera, size_t index=0)
void resetForFrame ()
QSSGFrameDatagetFrameData ()
QSSGShaderFeatures getShaderFeatures () const
QSSGRhiGraphicsPipelineState getPipelineState () const
void initializeLightmapBaking (QSSGLightmapBaker::Context &ctx)
void maybeProcessLightmapBaking ()
QSSGRenderGraphObjectgetCamera (QSSGCameraId id) const
QSSGRenderCameraactiveCamera () const
QSSGRenderCameraData getCameraRenderData (const QSSGRenderCamera *camera)
QSSGRenderCameraData getCameraRenderData (const QSSGRenderCamera *camera) const
void setLightmapTexture (const QSSGModelContext &modelContext, QRhiTexture *lightmapTexture)
QRhiTexturegetLightmapTexture (const QSSGModelContext &modelContext) const
void setBonemapTexture (const QSSGModelContext &modelContext, QRhiTexture *bonemapTexture)
QRhiTexturegetBonemapTexture (const QSSGModelContext &modelContext) const
QSSGRenderContextInterfacecontextInterface () const
bool isZPrePassActive () const
void setZPrePassPrepResult (bool res)
const QSSGShaderDefaultMaterialKeyPropertiesgetDefaultMaterialPropertyTable () const
const QSSGShaderParticleMaterialKeyPropertiesgetParticleMaterialPropertyTable () const
const QSSGRenderShadowMapPtrrequestShadowMapManager ()
const QSSGRenderReflectionMapPtrrequestReflectionMapManager ()
const QSSGUserRenderPassManagerPtrrequestUserRenderPassManager ()
const QSSGRenderMotionVectorMapPtrrequestMotionVectorMapManager ()
const QSSGRenderShadowMapPtrgetShadowMapManager () const
const QSSGRenderReflectionMapPtrgetReflectionMapManager () const
const QSSGUserRenderPassManagerPtrgetUserRenderPassManager () const
const QSSGRenderMotionVectorMapPtrgetMotionvectorMapManager () const
QSSGOITRenderContextgetOitRenderContext ()
const QSSGOITRenderContextgetOitRenderContextConst () const
QSSGRhiRenderableTexturegetRenderResult (QSSGRenderResult::Key id)
const QSSGRhiRenderableTexturegetRenderResult (QSSGRenderResult::Key id) const
void saveRenderState (const QSSGRenderer &renderer)
void restoreRenderState (QSSGRenderer &renderer)
QSSGPrepContextId getOrCreateExtensionContext (const QSSGRenderExtension &ext, QSSGRenderCamera *camera=nullptr, quint32 slot=0)
QSSGRenderablesId createRenderables (QSSGPrepContextId prepId, const QSSGNodeIdList &nodes, QSSGRenderHelpers::CreateFlags createFlags)
void setGlobalTransform (QSSGRenderablesId renderablesId, const QSSGRenderModel &model, const QMatrix4x4 &mvp)
QMatrix4x4 getGlobalTransform (QSSGPrepContextId prepId, const QSSGRenderModel &model)
void setGlobalOpacity (QSSGRenderablesId renderablesId, const QSSGRenderModel &model, float opacity)
float getGlobalOpacity (QSSGPrepContextId prepId, const QSSGRenderModel &model)
QMatrix4x4 getModelMvps (QSSGPrepContextId prepId, const QSSGRenderModel &model) const
void setModelMaterials (QSSGRenderablesId renderablesId, const QSSGRenderModel &model, const QList< QSSGResourceId > &materials)
void setModelMaterials (const QSSGRenderablesId renderablesId, const QList< QSSGResourceId > &materials)
QSSGPrepResultId prepareModelsForRender (QSSGRenderContextInterface &contextInterface, QSSGPrepContextId prepId, QSSGRenderablesId renderablesId, float lodThreshold)
QMatrix4x4 getGlobalTransform (QSSGRenderNodeHandle h, QMatrix4x4 defaultValue) const
QMatrix4x4 getGlobalTransform (QSSGRenderNodeHandle h) const
QMatrix4x4 getGlobalTransform (const QSSGRenderNode &node) const
QMatrix3x3 getNormalMatrix (QSSGRenderModelHandle h) const
QMatrix3x3 getNormalMatrix (const QSSGRenderModel &model) const
ModelViewProjections getModelMvps (QSSGRenderModelHandle h) const
ModelViewProjections getModelMvps (const QSSGRenderModel &model) const
InstanceTransforms getInstanceTransforms (QSSGRenderNodeHandle h) const
InstanceTransforms getInstanceTransforms (const QSSGRenderNode &node) const
float getGlobalOpacity (QSSGRenderNodeHandle h, float defaultValue=1.0f) const
float getGlobalOpacity (const QSSGRenderNode &node) const
QSSGRenderItem2DData::Item2DRenderer getItem2DRenderer (const QSSGRenderItem2D &item) const
ModelViewProjections getItem2DMvps (QSSGRenderItem2DHandle h) const
ModelViewProjections getItem2DMvps (const QSSGRenderItem2D &item) const
void prepareRenderables (QSSGRenderContextInterface &ctx, QSSGPrepResultId prepId, QRhiRenderPassDescriptor *renderPassDescriptor, const QSSGRhiGraphicsPipelineState &ps, QSSGRenderablesFilters filter)
void renderRenderables (QSSGRenderContextInterface &ctx, QSSGPrepResultId prepId)
QSSGRenderCameraData getCameraDataImpl (const QSSGRenderCamera *camera) const
QSSGDefaultMaterialPreparationResult prepareDefaultMaterialForRender (QSSGRenderDefaultMaterial &inMaterial, QSSGRenderableObjectFlags &inExistingFlags, float inOpacity, bool hasAnyLights, bool anyLightHasShadows, QSSGLayerRenderPreparationResultFlags &ioFlags)
QSSGDefaultMaterialPreparationResult prepareCustomMaterialForRender (QSSGRenderCustomMaterial &inMaterial, QSSGRenderableObjectFlags &inExistingFlags, float inOpacity, bool alreadyDirty, bool hasAnyLights, bool anyLightHasShadows, QSSGLayerRenderPreparationResultFlags &ioFlags)
void updateFilteredLayerNodes (quint32 layerMask)

Static Public Member Functions

static void prepareModelBoneTextures (const QSSGRenderContextInterface &contextInterface, const RenderableNodeEntries &renderableModels)
static qsizetype frustumCullingInline (const QSSGClippingFrustum &clipFrustum, QSSGRenderableObjectList &renderables)
static qsizetype filterLayerMaskInline (quint32 layerMask, QSSGRenderableObjectList &renderables)
static GlobalRenderProperties globalRenderProperties (const QSSGRenderContextInterface &ctx)
static bool prepareInstancing (QSSGRhiContext *rhiCtx, QSSGSubsetRenderable *renderable, const QVector3D &cameraDirection, const QVector3D &cameraPosition, float minThreshold, float maxThreshold)
static const std::unique_ptr< QSSGPerFrameAllocator > & perFrameAllocator (QSSGRenderContextInterface &ctx)
static QSSGLayerRenderDatagetCurrent (const QSSGRenderer &renderer)
static void setTonemapFeatures (QSSGShaderFeatures &features, QSSGRenderLayer::TonemapMode tonemapMode)
static bool calculateGlobalVariables (QSSGRenderNode &node, std::vector< QMatrix4x4 > &globalTransforms, std::vector< float > &globalOpacities)
static QSSGNodeIdList filter (const QSSGGlobalRenderNodeData::LayerNodeView &layerNodes, quint32 layerMask, quint32 typeMask)
static QSSGLayerRenderDatagetCurrent (const QSSGFrameData &data)
static void categorizeAndFilterNodes (const QSSGGlobalRenderNodeData::LayerNodeView &layerNodes, QSSGLayerRenderData::NodeCollection &nodeCollection, quint32 layerMask)

Public Attributes

ShadowMapPass shadowMapPass
ReflectionMapPass reflectionMapPass
ZPrePassPass zPrePassPass
SSAOMapPass ssaoMapPass
DepthMapPass depthMapPass
DepthMapPass depthMapPassMS
ScreenMapPass screenMapPass
ScreenReflectionPass reflectionPass
Item2DPass item2DPass
SkyboxPass skyboxPass
SkyboxCubeMapPass skyboxCubeMapPass
UserRenderPass userRenderPasses
UserExtensionPass userPasses [USERPASSES]
OpaquePass opaquePass
TransparentPass transparentPass
OITRenderPass oitRenderPass
OITCompositePass oitCompositePass
InfiniteGridPass infiniteGridPass
DebugDrawPass debugDrawPass
NormalPass normalPass
MotionVectorMapPass motionVectorMapPass
QVarLengthArray< QSSGRenderPass *, 16 > activePasses
QSSGRenderLayerlayer
QSSGRendererrenderer = nullptr
QSSGGlobalRenderNodeData::LayerNodeView layerNodes
RenderableNodeEntries renderableModels
RenderableNodeEntries renderableParticles
NodeCollection nodeCollection
QSSGModelsViewmodelsView = nodeCollection.modelsView
QSSGParticlesViewparticlesView = nodeCollection.particlesView
QSSGItem2DsViewitem2DsView = nodeCollection.item2DsView
QSSGCamerasViewcamerasView = nodeCollection.camerasView
QSSGLightsViewlightsView = nodeCollection.lightsView
QSSGReflectionProbesViewreflectionProbesView = nodeCollection.reflectionProbesView
QSSGNonCategorizedViewnonCategorizedView = nodeCollection.nonCategorizedView
QSSGRenderCameraList renderedCameras
QSSGShaderLightList globalLights
QVector< QSSGBakedLightingModelbakedLightingModels
QVector< QSSGBakedLightingModelrenderedBakedLightingModels
RenderableItem2DEntries renderedItem2Ds
QSSGLayerRenderPreparationResult layerPrepResult
std::optional< QSSGRenderCameraDataListrenderedCameraData
TModelContextPtrList modelContexts
QQsbCollection::EntryMap m_particleShaderEntries
bool nonExplicitCameraWithLayerMaskWarningShown = false
bool tooManyLightsWarningShown = false
bool tooManyDirectionalLightsWarningShown = false
bool oitWarningUnsupportedShown = false
bool oitWarningInvalidBlendModeShown = false
bool orderIndependentTransparencyEnabled = false
bool disableMainPasses = true
std::unique_ptr< QSSGLightmapBakerlightmapBaker = nullptr

Static Public Attributes

static constexpr size_t USERPASSES = 3

Friends

class QSSGRenderer
class QSSGRendererPrivate
class QSSGFrameData
class QSSGModelHelpers
class QSSGRenderHelpers
class QSSGParticleRenderer

Detailed Description

Definition at line 303 of file qssglayerrenderdata_p.h.

Member Typedef Documentation

◆ InstanceTransforms

◆ LayerNodes

Definition at line 415 of file qssglayerrenderdata_p.h.

◆ ModelViewProjections

◆ QSSGCamerasView

◆ QSSGItem2DsView

◆ QSSGLightsView

◆ QSSGModelsView

◆ QSSGNonCategorizedView

◆ QSSGParticlesView

◆ QSSGReflectionProbesView

◆ RenderableFilter

Definition at line 322 of file qssglayerrenderdata_p.h.

◆ RenderableItem2DEntries

◆ RenderableNodeEntries

◆ TModelContextPtrList

Member Enumeration Documentation

◆ Enum

Enumerator
MAX_AA_LEVELS 
MAX_TEMPORAL_AA_LEVELS 

Definition at line 306 of file qssglayerrenderdata_p.h.

Constructor & Destructor Documentation

◆ QSSGLayerRenderData()

QSSGLayerRenderData::QSSGLayerRenderData ( QSSGRenderLayer & inLayer,
QSSGRenderer & inRenderer )

Definition at line 2987 of file qssglayerrenderdata.cpp.

◆ ~QSSGLayerRenderData()

QSSGLayerRenderData::~QSSGLayerRenderData ( )

Definition at line 3005 of file qssglayerrenderdata.cpp.

Member Function Documentation

◆ activeCamera()

QSSGRenderCamera * QSSGLayerRenderData::activeCamera ( ) const
inlinenodiscard

Definition at line 482 of file qssglayerrenderdata_p.h.

◆ calculateGlobalVariables()

bool QSSGLayerRenderData::calculateGlobalVariables ( QSSGRenderNode & node,
std::vector< QMatrix4x4 > & globalTransforms,
std::vector< float > & globalOpacities )
static

◆ categorizeAndFilterNodes()

void QSSGLayerRenderData::categorizeAndFilterNodes ( const QSSGGlobalRenderNodeData::LayerNodeView & layerNodes,
QSSGLayerRenderData::NodeCollection & nodeCollection,
quint32 layerMask )
static

Definition at line 2190 of file qssglayerrenderdata.cpp.

◆ contextInterface()

QSSGRenderContextInterface * QSSGLayerRenderData::contextInterface ( ) const
nodiscard

Definition at line 3221 of file qssglayerrenderdata.cpp.

◆ createRenderables()

QSSGRenderablesId QSSGLayerRenderData::createRenderables ( QSSGPrepContextId prepId,
const QSSGNodeIdList & nodes,
QSSGRenderHelpers::CreateFlags createFlags )

Definition at line 565 of file qssglayerrenderdata.cpp.

◆ filter()

QSSGNodeIdList QSSGLayerRenderData::filter ( const QSSGGlobalRenderNodeData::LayerNodeView & layerNodes,
quint32 layerMask,
quint32 typeMask )
static

Definition at line 2176 of file qssglayerrenderdata.cpp.

◆ filterLayerMaskInline()

qsizetype QSSGLayerRenderData::filterLayerMaskInline ( quint32 layerMask,
QSSGRenderableObjectList & renderables )
staticnodiscard

Definition at line 173 of file qssglayerrenderdata.cpp.

◆ frustumCullingInline()

qsizetype QSSGLayerRenderData::frustumCullingInline ( const QSSGClippingFrustum & clipFrustum,
QSSGRenderableObjectList & renderables )
staticnodiscard

Definition at line 146 of file qssglayerrenderdata.cpp.

◆ getBonemapTexture()

QRhiTexture * QSSGLayerRenderData::getBonemapTexture ( const QSSGModelContext & modelContext) const
nodiscard

Definition at line 1446 of file qssglayerrenderdata.cpp.

◆ getCamera()

QSSGRenderGraphObject * QSSGLayerRenderData::getCamera ( QSSGCameraId id) const
nodiscard

Definition at line 3194 of file qssglayerrenderdata.cpp.

◆ getCameraDataImpl()

QSSGRenderCameraData QSSGLayerRenderData::getCameraDataImpl ( const QSSGRenderCamera * camera) const

Definition at line 257 of file qssglayerrenderdata.cpp.

◆ getCameraRenderData() [1/2]

QSSGRenderCameraData QSSGLayerRenderData::getCameraRenderData ( const QSSGRenderCamera * camera)
nodiscard

Definition at line 3203 of file qssglayerrenderdata.cpp.

◆ getCameraRenderData() [2/2]

QSSGRenderCameraData QSSGLayerRenderData::getCameraRenderData ( const QSSGRenderCamera * camera) const
nodiscard

Definition at line 3212 of file qssglayerrenderdata.cpp.

◆ getCurrent() [1/2]

QSSGLayerRenderData * QSSGLayerRenderData::getCurrent ( const QSSGFrameData & data)
inlinestaticnodiscard

Definition at line 659 of file qssglayerrenderdata_p.h.

◆ getCurrent() [2/2]

QSSGLayerRenderData * QSSGLayerRenderData::getCurrent ( const QSSGRenderer & renderer)
inlinestaticnodiscard

Definition at line 541 of file qssglayerrenderdata_p.h.

◆ getDefaultMaterialPropertyTable()

const QSSGShaderDefaultMaterialKeyProperties & QSSGLayerRenderData::getDefaultMaterialPropertyTable ( ) const
inlinenodiscard

Definition at line 499 of file qssglayerrenderdata_p.h.

◆ getFrameData()

QSSGFrameData & QSSGLayerRenderData::getFrameData ( )

Definition at line 3173 of file qssglayerrenderdata.cpp.

◆ getGlobalOpacity() [1/3]

float QSSGLayerRenderData::getGlobalOpacity ( const QSSGRenderNode & node) const
inlinenodiscard

Definition at line 618 of file qssglayerrenderdata_p.h.

◆ getGlobalOpacity() [2/3]

float QSSGLayerRenderData::getGlobalOpacity ( QSSGPrepContextId prepId,
const QSSGRenderModel & model )

Definition at line 658 of file qssglayerrenderdata.cpp.

◆ getGlobalOpacity() [3/3]

float QSSGLayerRenderData::getGlobalOpacity ( QSSGRenderNodeHandle h,
float defaultValue = 1.0f ) const
inlinenodiscard

Definition at line 614 of file qssglayerrenderdata_p.h.

◆ getGlobalTransform() [1/4]

QMatrix4x4 QSSGLayerRenderData::getGlobalTransform ( const QSSGRenderNode & node) const
inlinenodiscard

Definition at line 586 of file qssglayerrenderdata_p.h.

◆ getGlobalTransform() [2/4]

QMatrix4x4 QSSGLayerRenderData::getGlobalTransform ( QSSGPrepContextId prepId,
const QSSGRenderModel & model )

Definition at line 628 of file qssglayerrenderdata.cpp.

◆ getGlobalTransform() [3/4]

QMatrix4x4 QSSGLayerRenderData::getGlobalTransform ( QSSGRenderNodeHandle h) const
inlinenodiscard

Definition at line 582 of file qssglayerrenderdata_p.h.

◆ getGlobalTransform() [4/4]

QMatrix4x4 QSSGLayerRenderData::getGlobalTransform ( QSSGRenderNodeHandle h,
QMatrix4x4 defaultValue ) const
inlinenodiscard

Definition at line 578 of file qssglayerrenderdata_p.h.

◆ getInstanceTransforms() [1/2]

InstanceTransforms QSSGLayerRenderData::getInstanceTransforms ( const QSSGRenderNode & node) const
inlinenodiscard

Definition at line 610 of file qssglayerrenderdata_p.h.

◆ getInstanceTransforms() [2/2]

InstanceTransforms QSSGLayerRenderData::getInstanceTransforms ( QSSGRenderNodeHandle h) const
inlinenodiscard

Definition at line 606 of file qssglayerrenderdata_p.h.

◆ getItem2DMvps() [1/2]

ModelViewProjections QSSGLayerRenderData::getItem2DMvps ( const QSSGRenderItem2D & item) const
inlinenodiscard

Definition at line 634 of file qssglayerrenderdata_p.h.

◆ getItem2DMvps() [2/2]

ModelViewProjections QSSGLayerRenderData::getItem2DMvps ( QSSGRenderItem2DHandle h) const
inlinenodiscard

Definition at line 629 of file qssglayerrenderdata_p.h.

◆ getItem2DRenderer()

QSSGRenderItem2DData::Item2DRenderer QSSGLayerRenderData::getItem2DRenderer ( const QSSGRenderItem2D & item) const
inlinenodiscard

Definition at line 624 of file qssglayerrenderdata_p.h.

◆ getLightmapTexture()

QRhiTexture * QSSGLayerRenderData::getLightmapTexture ( const QSSGModelContext & modelContext) const
nodiscard

Definition at line 1430 of file qssglayerrenderdata.cpp.

◆ getModelMvps() [1/3]

ModelViewProjections QSSGLayerRenderData::getModelMvps ( const QSSGRenderModel & model) const
inlinenodiscard

Definition at line 602 of file qssglayerrenderdata_p.h.

◆ getModelMvps() [2/3]

QMatrix4x4 QSSGLayerRenderData::getModelMvps ( QSSGPrepContextId prepId,
const QSSGRenderModel & model ) const
nodiscard

◆ getModelMvps() [3/3]

ModelViewProjections QSSGLayerRenderData::getModelMvps ( QSSGRenderModelHandle h) const
inlinenodiscard

Definition at line 598 of file qssglayerrenderdata_p.h.

◆ getMotionvectorMapManager()

const QSSGRenderMotionVectorMapPtr & QSSGLayerRenderData::getMotionvectorMapManager ( ) const
inline

Definition at line 526 of file qssglayerrenderdata_p.h.

◆ getNormalMatrix() [1/2]

QMatrix3x3 QSSGLayerRenderData::getNormalMatrix ( const QSSGRenderModel & model) const
inlinenodiscard

Definition at line 594 of file qssglayerrenderdata_p.h.

◆ getNormalMatrix() [2/2]

QMatrix3x3 QSSGLayerRenderData::getNormalMatrix ( QSSGRenderModelHandle h) const
inlinenodiscard

Definition at line 590 of file qssglayerrenderdata_p.h.

◆ getOitRenderContext()

QSSGOITRenderContext & QSSGLayerRenderData::getOitRenderContext ( )
inline

Definition at line 528 of file qssglayerrenderdata_p.h.

◆ getOitRenderContextConst()

const QSSGOITRenderContext & QSSGLayerRenderData::getOitRenderContextConst ( ) const
inline

Definition at line 529 of file qssglayerrenderdata_p.h.

◆ getOrCreateExtensionContext()

QSSGPrepContextId QSSGLayerRenderData::getOrCreateExtensionContext ( const QSSGRenderExtension & ext,
QSSGRenderCamera * camera = nullptr,
quint32 slot = 0 )

Definition at line 510 of file qssglayerrenderdata.cpp.

◆ getParticleMaterialPropertyTable()

const QSSGShaderParticleMaterialKeyProperties & QSSGLayerRenderData::getParticleMaterialPropertyTable ( ) const
inlinenodiscard

Definition at line 503 of file qssglayerrenderdata_p.h.

◆ getPipelineState()

QSSGRhiGraphicsPipelineState QSSGLayerRenderData::getPipelineState ( ) const
inline

Definition at line 476 of file qssglayerrenderdata_p.h.

◆ getReflectionMapManager()

const QSSGRenderReflectionMapPtr & QSSGLayerRenderData::getReflectionMapManager ( ) const
inline

Definition at line 524 of file qssglayerrenderdata_p.h.

◆ getRenderableItem2Ds()

const QSSGLayerRenderData::RenderableItem2DEntries & QSSGLayerRenderData::getRenderableItem2Ds ( )

Definition at line 403 of file qssglayerrenderdata.cpp.

◆ getRenderResult() [1/2]

QSSGRhiRenderableTexture * QSSGLayerRenderData::getRenderResult ( QSSGRenderResult::Key id)
inlinenodiscard

Definition at line 538 of file qssglayerrenderdata_p.h.

◆ getRenderResult() [2/2]

const QSSGRhiRenderableTexture * QSSGLayerRenderData::getRenderResult ( QSSGRenderResult::Key id) const
inlinenodiscard

Definition at line 539 of file qssglayerrenderdata_p.h.

◆ getShaderFeatures()

QSSGShaderFeatures QSSGLayerRenderData::getShaderFeatures ( ) const
inline

Definition at line 475 of file qssglayerrenderdata_p.h.

◆ getShadowMapManager()

const QSSGRenderShadowMapPtr & QSSGLayerRenderData::getShadowMapManager ( ) const
inline

Definition at line 523 of file qssglayerrenderdata_p.h.

◆ getSortedBakedLightingModels()

const QVector< QSSGBakedLightingModel > & QSSGLayerRenderData::getSortedBakedLightingModels ( )

Definition at line 389 of file qssglayerrenderdata.cpp.

◆ getSortedOpaqueRenderableObjects()

const QVector< QSSGRenderableObjectHandle > & QSSGLayerRenderData::getSortedOpaqueRenderableObjects ( const QSSGRenderCamera & camera,
size_t index = 0,
quint32 layerMask = 0xFFFFFFFF )

Definition at line 313 of file qssglayerrenderdata.cpp.

◆ getSortedRenderedDepthWriteObjects()

const QSSGRenderableObjectList & QSSGLayerRenderData::getSortedRenderedDepthWriteObjects ( const QSSGRenderCamera & camera,
size_t index = 0 )

Definition at line 865 of file qssglayerrenderdata.cpp.

◆ getSortedrenderedOpaqueDepthPrepassObjects()

const QSSGRenderableObjectList & QSSGLayerRenderData::getSortedrenderedOpaqueDepthPrepassObjects ( const QSSGRenderCamera & camera,
size_t index = 0 )

Definition at line 871 of file qssglayerrenderdata.cpp.

◆ getSortedScreenTextureRenderableObjects()

const QVector< QSSGRenderableObjectHandle > & QSSGLayerRenderData::getSortedScreenTextureRenderableObjects ( const QSSGRenderCamera & camera,
size_t index = 0 )

Definition at line 373 of file qssglayerrenderdata.cpp.

◆ getSortedTransparentRenderableObjects()

const QVector< QSSGRenderableObjectHandle > & QSSGLayerRenderData::getSortedTransparentRenderableObjects ( const QSSGRenderCamera & camera,
size_t index = 0,
quint32 layerMask = 0xFFFFFFFF )

Definition at line 341 of file qssglayerrenderdata.cpp.

◆ getUserRenderPassManager()

const QSSGUserRenderPassManagerPtr & QSSGLayerRenderData::getUserRenderPassManager ( ) const
inline

Definition at line 525 of file qssglayerrenderdata_p.h.

◆ globalRenderProperties()

QSSGLayerRenderData::GlobalRenderProperties QSSGLayerRenderData::globalRenderProperties ( const QSSGRenderContextInterface & ctx)
staticnodiscard

Definition at line 3226 of file qssglayerrenderdata.cpp.

◆ initializeLightmapBaking()

void QSSGLayerRenderData::initializeLightmapBaking ( QSSGLightmapBaker::Context & ctx)

Definition at line 3178 of file qssglayerrenderdata.cpp.

◆ isZPrePassActive()

bool QSSGLayerRenderData::isZPrePassActive ( ) const
inlinenodiscard

Definition at line 495 of file qssglayerrenderdata_p.h.

◆ maybeProcessLightmapBaking()

void QSSGLayerRenderData::maybeProcessLightmapBaking ( )

Definition at line 3185 of file qssglayerrenderdata.cpp.

◆ perFrameAllocator()

const std::unique_ptr< QSSGPerFrameAllocator > & QSSGLayerRenderData::perFrameAllocator ( QSSGRenderContextInterface & ctx)
inlinestaticnodiscard

Definition at line 484 of file qssglayerrenderdata.cpp.

◆ prepareCustomMaterialForRender()

QSSGDefaultMaterialPreparationResult QSSGLayerRenderData::prepareCustomMaterialForRender ( QSSGRenderCustomMaterial & inMaterial,
QSSGRenderableObjectFlags & inExistingFlags,
float inOpacity,
bool alreadyDirty,
bool hasAnyLights,
bool anyLightHasShadows,
QSSGLayerRenderPreparationResultFlags & ioFlags )

Definition at line 1298 of file qssglayerrenderdata.cpp.

◆ prepareDefaultMaterialForRender()

QSSGDefaultMaterialPreparationResult QSSGLayerRenderData::prepareDefaultMaterialForRender ( QSSGRenderDefaultMaterial & inMaterial,
QSSGRenderableObjectFlags & inExistingFlags,
float inOpacity,
bool hasAnyLights,
bool anyLightHasShadows,
QSSGLayerRenderPreparationResultFlags & ioFlags )

Definition at line 1079 of file qssglayerrenderdata.cpp.

◆ prepareForRender()

void QSSGLayerRenderData::prepareForRender ( )

Definition at line 2307 of file qssglayerrenderdata.cpp.

◆ prepareImageForRender()

void QSSGLayerRenderData::prepareImageForRender ( QSSGRenderImage & inImage,
QSSGRenderableImage::Type inMapType,
QSSGRenderableImage *& ioFirstImage,
QSSGRenderableImage *& ioNextImage,
QSSGRenderableObjectFlags & ioFlags,
QSSGShaderDefaultMaterialKey & ioGeneratedShaderKey,
quint32 inImageIndex,
QSSGRenderDefaultMaterial * inMaterial = nullptr )

Definition at line 896 of file qssglayerrenderdata.cpp.

◆ prepareInstancing()

bool QSSGLayerRenderData::prepareInstancing ( QSSGRhiContext * rhiCtx,
QSSGSubsetRenderable * renderable,
const QVector3D & cameraDirection,
const QVector3D & cameraPosition,
float minThreshold,
float maxThreshold )
static

Definition at line 3070 of file qssglayerrenderdata.cpp.

◆ prepareModelBoneTextures()

void QSSGLayerRenderData::prepareModelBoneTextures ( const QSSGRenderContextInterface & contextInterface,
const RenderableNodeEntries & renderableModels )
static

◆ prepareModelsForRender() [1/2]

QSSGPrepResultId QSSGLayerRenderData::prepareModelsForRender ( QSSGRenderContextInterface & contextInterface,
QSSGPrepContextId prepId,
QSSGRenderablesId renderablesId,
float lodThreshold )
nodiscard

Definition at line 710 of file qssglayerrenderdata.cpp.

◆ prepareModelsForRender() [2/2]

bool QSSGLayerRenderData::prepareModelsForRender ( QSSGRenderContextInterface & ctx,
const RenderableNodeEntries & renderableModels,
QSSGLayerRenderPreparationResultFlags & ioFlags,
const QSSGRenderCameraList & allCameras,
const QSSGRenderCameraDataList & allCameraData,
TModelContextPtrList & modelContexts,
QSSGRenderableObjectList & opaqueObjects,
QSSGRenderableObjectList & transparentObjects,
QSSGRenderableObjectList & screenTextureObjects,
float lodThreshold = 0.0f )

Definition at line 1479 of file qssglayerrenderdata.cpp.

◆ prepareParticlesForRender()

bool QSSGLayerRenderData::prepareParticlesForRender ( const RenderableNodeEntries & renderableParticles,
const QSSGRenderCameraData & cameraData,
QSSGLayerRenderPreparationResultFlags & ioFlags )

Definition at line 1911 of file qssglayerrenderdata.cpp.

◆ prepareReflectionProbesForRender()

void QSSGLayerRenderData::prepareReflectionProbesForRender ( )

Definition at line 2037 of file qssglayerrenderdata.cpp.

◆ prepareRenderables()

void QSSGLayerRenderData::prepareRenderables ( QSSGRenderContextInterface & ctx,
QSSGPrepResultId prepId,
QRhiRenderPassDescriptor * renderPassDescriptor,
const QSSGRhiGraphicsPipelineState & ps,
QSSGRenderablesFilters filter )

Definition at line 797 of file qssglayerrenderdata.cpp.

◆ prepareResourceLoaders()

void QSSGLayerRenderData::prepareResourceLoaders ( )

Definition at line 2028 of file qssglayerrenderdata.cpp.

◆ renderRenderables()

void QSSGLayerRenderData::renderRenderables ( QSSGRenderContextInterface & ctx,
QSSGPrepResultId prepId )

Definition at line 841 of file qssglayerrenderdata.cpp.

◆ requestMotionVectorMapManager()

const QSSGRenderMotionVectorMapPtr & QSSGLayerRenderData::requestMotionVectorMapManager ( )

Definition at line 3263 of file qssglayerrenderdata.cpp.

◆ requestReflectionMapManager()

const QSSGRenderReflectionMapPtr & QSSGLayerRenderData::requestReflectionMapManager ( )

Definition at line 3246 of file qssglayerrenderdata.cpp.

◆ requestShadowMapManager()

const QSSGRenderShadowMapPtr & QSSGLayerRenderData::requestShadowMapManager ( )

Definition at line 3239 of file qssglayerrenderdata.cpp.

◆ requestUserRenderPassManager()

const QSSGUserRenderPassManagerPtr & QSSGLayerRenderData::requestUserRenderPassManager ( )

Definition at line 3254 of file qssglayerrenderdata.cpp.

◆ resetForFrame()

void QSSGLayerRenderData::resetForFrame ( )

Definition at line 2919 of file qssglayerrenderdata.cpp.

◆ restoreRenderState()

void QSSGLayerRenderData::restoreRenderState ( QSSGRenderer & renderer)

Definition at line 495 of file qssglayerrenderdata.cpp.

◆ saveRenderState()

void QSSGLayerRenderData::saveRenderState ( const QSSGRenderer & renderer)

Definition at line 489 of file qssglayerrenderdata.cpp.

◆ setBonemapTexture()

void QSSGLayerRenderData::setBonemapTexture ( const QSSGModelContext & modelContext,
QRhiTexture * bonemapTexture )

Definition at line 1441 of file qssglayerrenderdata.cpp.

◆ setGlobalOpacity()

void QSSGLayerRenderData::setGlobalOpacity ( QSSGRenderablesId renderablesId,
const QSSGRenderModel & model,
float opacity )

Definition at line 643 of file qssglayerrenderdata.cpp.

◆ setGlobalTransform()

void QSSGLayerRenderData::setGlobalTransform ( QSSGRenderablesId renderablesId,
const QSSGRenderModel & model,
const QMatrix4x4 & mvp )

Definition at line 613 of file qssglayerrenderdata.cpp.

◆ setLightmapTexture()

void QSSGLayerRenderData::setLightmapTexture ( const QSSGModelContext & modelContext,
QRhiTexture * lightmapTexture )

Definition at line 1425 of file qssglayerrenderdata.cpp.

◆ setModelMaterials() [1/2]

void QSSGLayerRenderData::setModelMaterials ( const QSSGRenderablesId renderablesId,
const QList< QSSGResourceId > & materials )

Definition at line 693 of file qssglayerrenderdata.cpp.

◆ setModelMaterials() [2/2]

void QSSGLayerRenderData::setModelMaterials ( QSSGRenderablesId renderablesId,
const QSSGRenderModel & model,
const QList< QSSGResourceId > & materials )

Definition at line 673 of file qssglayerrenderdata.cpp.

◆ setTonemapFeatures()

void QSSGLayerRenderData::setTonemapFeatures ( QSSGShaderFeatures & features,
QSSGRenderLayer::TonemapMode tonemapMode )
inlinestatic

Definition at line 545 of file qssglayerrenderdata_p.h.

◆ setVertexInputPresence()

void QSSGLayerRenderData::setVertexInputPresence ( const QSSGRenderableObjectFlags & renderableFlags,
QSSGShaderDefaultMaterialKey & key )

Definition at line 1054 of file qssglayerrenderdata.cpp.

◆ setZPrePassPrepResult()

void QSSGLayerRenderData::setZPrePassPrepResult ( bool res)
inline

Definition at line 496 of file qssglayerrenderdata_p.h.

◆ updateFilteredLayerNodes()

void QSSGLayerRenderData::updateFilteredLayerNodes ( quint32 layerMask)

Definition at line 2292 of file qssglayerrenderdata.cpp.

◆ QSSGFrameData

friend class QSSGFrameData
friend

Definition at line 682 of file qssglayerrenderdata_p.h.

◆ QSSGModelHelpers

friend class QSSGModelHelpers
friend

Definition at line 683 of file qssglayerrenderdata_p.h.

◆ QSSGParticleRenderer

friend class QSSGParticleRenderer
friend

Definition at line 685 of file qssglayerrenderdata_p.h.

◆ QSSGRenderer

friend class QSSGRenderer
friend

Definition at line 680 of file qssglayerrenderdata_p.h.

◆ QSSGRendererPrivate

friend class QSSGRendererPrivate
friend

Definition at line 681 of file qssglayerrenderdata_p.h.

◆ QSSGRenderHelpers

friend class QSSGRenderHelpers
friend

Definition at line 684 of file qssglayerrenderdata_p.h.

Member Data Documentation

◆ activePasses

QVarLengthArray<QSSGRenderPass *, 16> QSSGLayerRenderData::activePasses

Definition at line 408 of file qssglayerrenderdata_p.h.

◆ bakedLightingModels

QVector<QSSGBakedLightingModel> QSSGLayerRenderData::bakedLightingModels

Definition at line 452 of file qssglayerrenderdata_p.h.

◆ camerasView

QSSGCamerasView& QSSGLayerRenderData::camerasView = nodeCollection.camerasView

Definition at line 443 of file qssglayerrenderdata_p.h.

◆ debugDrawPass

DebugDrawPass QSSGLayerRenderData::debugDrawPass

Definition at line 403 of file qssglayerrenderdata_p.h.

◆ depthMapPass

DepthMapPass QSSGLayerRenderData::depthMapPass

Definition at line 388 of file qssglayerrenderdata_p.h.

◆ depthMapPassMS

DepthMapPass QSSGLayerRenderData::depthMapPassMS

Definition at line 389 of file qssglayerrenderdata_p.h.

◆ disableMainPasses

bool QSSGLayerRenderData::disableMainPasses = true

Definition at line 471 of file qssglayerrenderdata_p.h.

◆ globalLights

QSSGShaderLightList QSSGLayerRenderData::globalLights

Definition at line 450 of file qssglayerrenderdata_p.h.

◆ infiniteGridPass

InfiniteGridPass QSSGLayerRenderData::infiniteGridPass

Definition at line 402 of file qssglayerrenderdata_p.h.

◆ item2DPass

Item2DPass QSSGLayerRenderData::item2DPass

Definition at line 392 of file qssglayerrenderdata_p.h.

◆ item2DsView

QSSGItem2DsView& QSSGLayerRenderData::item2DsView = nodeCollection.item2DsView

Definition at line 442 of file qssglayerrenderdata_p.h.

◆ layer

QSSGRenderLayer& QSSGLayerRenderData::layer

Definition at line 410 of file qssglayerrenderdata_p.h.

◆ layerNodes

QSSGGlobalRenderNodeData::LayerNodeView QSSGLayerRenderData::layerNodes

Definition at line 416 of file qssglayerrenderdata_p.h.

◆ layerPrepResult

QSSGLayerRenderPreparationResult QSSGLayerRenderData::layerPrepResult

Definition at line 458 of file qssglayerrenderdata_p.h.

◆ lightmapBaker

std::unique_ptr<QSSGLightmapBaker> QSSGLayerRenderData::lightmapBaker = nullptr

Definition at line 473 of file qssglayerrenderdata_p.h.

◆ lightsView

QSSGLightsView& QSSGLayerRenderData::lightsView = nodeCollection.lightsView

Definition at line 444 of file qssglayerrenderdata_p.h.

◆ m_particleShaderEntries

QQsbCollection::EntryMap QSSGLayerRenderData::m_particleShaderEntries

Definition at line 463 of file qssglayerrenderdata_p.h.

◆ modelContexts

TModelContextPtrList QSSGLayerRenderData::modelContexts

Definition at line 461 of file qssglayerrenderdata_p.h.

◆ modelsView

QSSGModelsView& QSSGLayerRenderData::modelsView = nodeCollection.modelsView

Definition at line 440 of file qssglayerrenderdata_p.h.

◆ motionVectorMapPass

MotionVectorMapPass QSSGLayerRenderData::motionVectorMapPass

Definition at line 405 of file qssglayerrenderdata_p.h.

◆ nodeCollection

NodeCollection QSSGLayerRenderData::nodeCollection

Definition at line 438 of file qssglayerrenderdata_p.h.

◆ nonCategorizedView

QSSGNonCategorizedView& QSSGLayerRenderData::nonCategorizedView = nodeCollection.nonCategorizedView

Definition at line 446 of file qssglayerrenderdata_p.h.

◆ nonExplicitCameraWithLayerMaskWarningShown

bool QSSGLayerRenderData::nonExplicitCameraWithLayerMaskWarningShown = false

Definition at line 465 of file qssglayerrenderdata_p.h.

◆ normalPass

NormalPass QSSGLayerRenderData::normalPass

Definition at line 404 of file qssglayerrenderdata_p.h.

◆ oitCompositePass

OITCompositePass QSSGLayerRenderData::oitCompositePass

Definition at line 401 of file qssglayerrenderdata_p.h.

◆ oitRenderPass

OITRenderPass QSSGLayerRenderData::oitRenderPass

Definition at line 400 of file qssglayerrenderdata_p.h.

◆ oitWarningInvalidBlendModeShown

bool QSSGLayerRenderData::oitWarningInvalidBlendModeShown = false

Definition at line 469 of file qssglayerrenderdata_p.h.

◆ oitWarningUnsupportedShown

bool QSSGLayerRenderData::oitWarningUnsupportedShown = false

Definition at line 468 of file qssglayerrenderdata_p.h.

◆ opaquePass

OpaquePass QSSGLayerRenderData::opaquePass

Definition at line 398 of file qssglayerrenderdata_p.h.

◆ orderIndependentTransparencyEnabled

bool QSSGLayerRenderData::orderIndependentTransparencyEnabled = false

Definition at line 470 of file qssglayerrenderdata_p.h.

◆ particlesView

QSSGParticlesView& QSSGLayerRenderData::particlesView = nodeCollection.particlesView

Definition at line 441 of file qssglayerrenderdata_p.h.

◆ reflectionMapPass

ReflectionMapPass QSSGLayerRenderData::reflectionMapPass

Definition at line 385 of file qssglayerrenderdata_p.h.

◆ reflectionPass

ScreenReflectionPass QSSGLayerRenderData::reflectionPass

Definition at line 391 of file qssglayerrenderdata_p.h.

◆ reflectionProbesView

QSSGReflectionProbesView& QSSGLayerRenderData::reflectionProbesView = nodeCollection.reflectionProbesView

Definition at line 445 of file qssglayerrenderdata_p.h.

◆ renderableModels

RenderableNodeEntries QSSGLayerRenderData::renderableModels

Definition at line 419 of file qssglayerrenderdata_p.h.

◆ renderableParticles

RenderableNodeEntries QSSGLayerRenderData::renderableParticles

Definition at line 420 of file qssglayerrenderdata_p.h.

◆ renderedBakedLightingModels

QVector<QSSGBakedLightingModel> QSSGLayerRenderData::renderedBakedLightingModels

Definition at line 455 of file qssglayerrenderdata_p.h.

◆ renderedCameraData

std::optional<QSSGRenderCameraDataList> QSSGLayerRenderData::renderedCameraData

Definition at line 459 of file qssglayerrenderdata_p.h.

◆ renderedCameras

QSSGRenderCameraList QSSGLayerRenderData::renderedCameras

Definition at line 449 of file qssglayerrenderdata_p.h.

◆ renderedItem2Ds

RenderableItem2DEntries QSSGLayerRenderData::renderedItem2Ds

Definition at line 456 of file qssglayerrenderdata_p.h.

◆ renderer

QSSGRenderer* QSSGLayerRenderData::renderer = nullptr

Definition at line 411 of file qssglayerrenderdata_p.h.

◆ screenMapPass

ScreenMapPass QSSGLayerRenderData::screenMapPass

Definition at line 390 of file qssglayerrenderdata_p.h.

◆ shadowMapPass

ShadowMapPass QSSGLayerRenderData::shadowMapPass

Definition at line 384 of file qssglayerrenderdata_p.h.

◆ skyboxCubeMapPass

SkyboxCubeMapPass QSSGLayerRenderData::skyboxCubeMapPass

Definition at line 394 of file qssglayerrenderdata_p.h.

◆ skyboxPass

SkyboxPass QSSGLayerRenderData::skyboxPass

Definition at line 393 of file qssglayerrenderdata_p.h.

◆ ssaoMapPass

SSAOMapPass QSSGLayerRenderData::ssaoMapPass

Definition at line 387 of file qssglayerrenderdata_p.h.

◆ tooManyDirectionalLightsWarningShown

bool QSSGLayerRenderData::tooManyDirectionalLightsWarningShown = false

Definition at line 467 of file qssglayerrenderdata_p.h.

◆ tooManyLightsWarningShown

bool QSSGLayerRenderData::tooManyLightsWarningShown = false

Definition at line 466 of file qssglayerrenderdata_p.h.

◆ transparentPass

TransparentPass QSSGLayerRenderData::transparentPass

Definition at line 399 of file qssglayerrenderdata_p.h.

◆ USERPASSES

size_t QSSGLayerRenderData::USERPASSES = 3
staticconstexpr

Definition at line 396 of file qssglayerrenderdata_p.h.

◆ userPasses

UserExtensionPass QSSGLayerRenderData::userPasses[USERPASSES]

Definition at line 397 of file qssglayerrenderdata_p.h.

◆ userRenderPasses

UserRenderPass QSSGLayerRenderData::userRenderPasses

Definition at line 395 of file qssglayerrenderdata_p.h.

◆ zPrePassPass

ZPrePassPass QSSGLayerRenderData::zPrePassPass

Definition at line 386 of file qssglayerrenderdata_p.h.


The documentation for this class was generated from the following files: