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
RenderHelpers Namespace Reference

Functions

std::pair< QSSGBounds3, QSSGBounds3calculateSortedObjectBounds (const QSSGRenderableObjectList &sortedOpaqueObjects, const QSSGRenderableObjectList &sortedTransparentObjects)
void rhiRenderShadowMap (QSSGRhiContext *rhiCtx, QSSGPassKey passKey, QSSGRhiGraphicsPipelineState &ps, QSSGRenderShadowMap &shadowMapManager, const QSSGRenderCamera &camera, QSSGRenderCamera *debugCamera, const QSSGShaderLightList &globalLights, const QSSGRenderableObjectList &sortedOpaqueObjects, QSSGRenderer &renderer, const QSSGBounds3 &castingObjectsBox, const QSSGBounds3 &receivingObjectsBox)
void rhiRenderReflectionMap (QSSGRhiContext *rhiCtx, QSSGPassKey passKey, const QSSGLayerRenderData &inData, QSSGRhiGraphicsPipelineState *ps, QSSGRenderReflectionMap &reflectionMapManager, const QVector< QSSGRenderReflectionProbe * > &reflectionProbes, const QSSGRenderableObjectList &reflectionPassObjects, QSSGRenderer &renderer)
bool rhiPrepareDepthPass (QSSGRhiContext *rhiCtx, QSSGPassKey passKey, const QSSGRhiGraphicsPipelineState &basePipelineState, QRhiRenderPassDescriptor *rpDesc, QSSGLayerRenderData &inData, const QSSGRenderableObjectList &sortedOpaqueObjects, const QSSGRenderableObjectList &sortedTransparentObjects, int samples, int viewCount)
void rhiRenderDepthPass (QSSGRhiContext *rhiCtx, const QSSGRhiGraphicsPipelineState &ps, const QSSGRenderableObjectList &sortedOpaqueObjects, const QSSGRenderableObjectList &sortedTransparentObjects, bool *needsSetViewport)
bool rhiPrepareNormalPass (QSSGRhiContext *rhiCtx, QSSGPassKey passKey, const QSSGRhiGraphicsPipelineState &basePipelineState, QRhiRenderPassDescriptor *rpDesc, QSSGLayerRenderData &inData, const QSSGRenderableObjectList &sortedOpaqueObjects)
void rhiRenderNormalPass (QSSGRhiContext *rhiCtx, const QSSGRhiGraphicsPipelineState &ps, const QSSGRenderableObjectList &sortedOpaqueObjects, bool *needsSetViewport)
bool rhiPrepareAoTexture (QSSGRhiContext *rhiCtx, const QSize &size, QSSGRhiRenderableTexture *renderableTex, quint8 viewCount)
void rhiRenderAoTexture (QSSGRhiContext *rhiCtx, QSSGPassKey passKey, QSSGRenderer &renderer, QSSGRhiShaderPipeline &shaderPipeline, QSSGRhiGraphicsPipelineState &ps, const QSSGAmbientOcclusionSettings &ao, const QSSGRhiRenderableTexture &rhiAoTexture, const QSSGRhiRenderableTexture &rhiDepthTexture, const QSSGRenderCamera &camera)
bool rhiPrepareScreenTexture (QSSGRhiContext *rhiCtx, const QSize &size, bool wantsMips, QSSGRhiRenderableTexture *renderableTex, quint8 viewCount)
void addAccumulatorImageBindings (QSSGRhiShaderPipeline *shaderPipeline, QSSGRhiShaderResourceBindingList &bindings)
void rhiPrepareGrid (QSSGRhiContext *rhiCtx, QSSGPassKey passKey, QSSGRenderLayer &layer, QSSGRenderCameraList &cameras, QSSGRenderer &renderer)
void rhiPrepareSkyBox (QSSGRhiContext *rhiCtx, QSSGPassKey passKey, QSSGRenderLayer &layer, QSSGRenderCameraList &cameras, QSSGRenderer &renderer, uint tonemapMode=0)
void rhiPrepareSkyBoxForReflectionMap (QSSGRhiContext *rhiCtx, QSSGPassKey passKey, QSSGRenderLayer &layer, QSSGRenderCamera &inCamera, QSSGRenderer &renderer, QSSGReflectionMapEntry *entry, QSSGRenderTextureCubeFace cubeFace)
void rhiPrepareOverrideMaterialUserPass (QSSGRhiContext *rhiCtx, QSSGPassKey passKey, const QSSGRhiGraphicsPipelineState &basePipelineState, QRhiRenderPassDescriptor *rpDesc, QSSGRenderGraphObject *overrideMaterial, QSSGLayerRenderData &inData, QSSGRenderableObjectList &inObjects, QSSGShaderFeatures featureSet, size_t index)
void rhiPrepareOriginalMaterialUserPass (QSSGRhiContext *rhiCtx, QSSGPassKey passKey, const QSSGRhiGraphicsPipelineState &basePipelineState, QRhiRenderPassDescriptor *rpDesc, const QSSGLayerRenderData &inData, QSSGRenderableObjectList &inObjects, QSSGShaderFeatures featureSet, size_t index)
void rhiPrepareAugmentedUserPass (QSSGRhiContext *rhiCtx, QSSGPassKey passKey, const QSSGRhiGraphicsPipelineState &basePipelineState, QRhiRenderPassDescriptor *rpDesc, const QSSGUserShaderAugmentation &shaderAugmentation, const QSSGLayerRenderData &inData, QSSGRenderableObjectList &inObjects, QSSGShaderFeatures featureSet, size_t index)
void rhiRenderUserAugmentedPass (QSSGRhiContext *rhiCtx, QSSGRenderableObjectList &inObjects)
Q_QUICK3DRUNTIMERENDER_EXPORT void rhiPrepareRenderable (QSSGRhiContext *rhiCtx, QSSGPassKey passKey, const QSSGLayerRenderData &inData, QSSGRenderableObject &inObject, QRhiRenderPassDescriptor *renderPassDescriptor, QSSGRhiGraphicsPipelineState *ps, QSSGShaderFeatures featureSet, int samples, int viewCount, QSSGRenderCamera *alteredCamera=nullptr, QMatrix4x4 *alteredModelViewProjection=nullptr, QSSGRenderTextureCubeFace cubeFace=QSSGRenderTextureCubeFaceNone, QSSGReflectionMapEntry *entry=nullptr, bool oit=false)
Q_QUICK3DRUNTIMERENDER_EXPORT void rhiRenderRenderable (QSSGRhiContext *rhiCtx, const QSSGRhiGraphicsPipelineState &state, QSSGRenderableObject &object, bool *needsSetViewport, QSSGRenderTextureCubeFace cubeFace=QSSGRenderTextureCubeFaceNone, qsizetype userPassIndex=-1)
bool rhiPrepareDepthTexture (QSSGRhiContext *rhiCtx, const QSize &size, QSSGRhiRenderableTexture *renderableTex, quint8 viewCount, int samples=1)
bool rhiPrepareMotionVectorTexture (QSSGRhiContext *rhiCtx, const QSize &size, QSSGRhiRenderableTexture *renderableTex)
void rhiPrepareMotionVectorRenderable (QSSGRhiContext *rhiCtx, QSSGPassKey passKey, const QSSGLayerRenderData &inData, const QMatrix4x4 &viewProjection, QSSGRenderableObject &inObject, QRhiRenderPassDescriptor *renderPassDescriptor, QSSGRhiGraphicsPipelineState *ps, QSSGRenderMotionVectorMap &motionVectorMapManager)
void rhiRenderMotionVector (QSSGRhiContext *rhiCtx, const QSSGRhiGraphicsPipelineState &state, const QSSGRenderableObjectList *motionVectorPassObjects, int bucketsCount)
QRect correctViewportCoordinates (const QRectF &layerViewport, const QRect &deviceRect)
quint32 rhiCalculateABufferSize (int nodeCount)
quint32 rhiCalculateABufferSize (const QSize &size, int levels)

Function Documentation

◆ addAccumulatorImageBindings()

void RenderHelpers::addAccumulatorImageBindings ( QSSGRhiShaderPipeline * shaderPipeline,
QSSGRhiShaderResourceBindingList & bindings )

Definition at line 702 of file qssgrenderhelpers.cpp.

Referenced by rhiPrepareRenderable().

Here is the caller graph for this function:

◆ calculateSortedObjectBounds()

std::pair< QSSGBounds3, QSSGBounds3 > RenderHelpers::calculateSortedObjectBounds ( const QSSGRenderableObjectList & sortedOpaqueObjects,
const QSSGRenderableObjectList & sortedTransparentObjects )

Definition at line 109 of file qssgrenderhelpers.cpp.

◆ correctViewportCoordinates()

QRect RenderHelpers::correctViewportCoordinates ( const QRectF & layerViewport,
const QRect & deviceRect )
inline

Definition at line 211 of file qssgrenderhelpers_p.h.

◆ rhiCalculateABufferSize() [1/2]

quint32 RenderHelpers::rhiCalculateABufferSize ( const QSize & size,
int levels )
inline

Definition at line 229 of file qssgrenderhelpers_p.h.

◆ rhiCalculateABufferSize() [2/2]

quint32 RenderHelpers::rhiCalculateABufferSize ( int nodeCount)
inline

Definition at line 217 of file qssgrenderhelpers_p.h.

◆ rhiPrepareAoTexture()

bool RenderHelpers::rhiPrepareAoTexture ( QSSGRhiContext * rhiCtx,
const QSize & size,
QSSGRhiRenderableTexture * renderableTex,
quint8 viewCount )

Definition at line 1924 of file qssgrenderhelpers.cpp.

◆ rhiPrepareAugmentedUserPass()

void RenderHelpers::rhiPrepareAugmentedUserPass ( QSSGRhiContext * rhiCtx,
QSSGPassKey passKey,
const QSSGRhiGraphicsPipelineState & basePipelineState,
QRhiRenderPassDescriptor * rpDesc,
const QSSGUserShaderAugmentation & shaderAugmentation,
const QSSGLayerRenderData & inData,
QSSGRenderableObjectList & inObjects,
QSSGShaderFeatures featureSet,
size_t index )

Definition at line 3371 of file qssgrenderhelpers.cpp.

Referenced by UserRenderPass::preparePassImpl().

Here is the caller graph for this function:

◆ rhiPrepareDepthPass()

bool RenderHelpers::rhiPrepareDepthPass ( QSSGRhiContext * rhiCtx,
QSSGPassKey passKey,
const QSSGRhiGraphicsPipelineState & basePipelineState,
QRhiRenderPassDescriptor * rpDesc,
QSSGLayerRenderData & inData,
const QSSGRenderableObjectList & sortedOpaqueObjects,
const QSSGRenderableObjectList & sortedTransparentObjects,
int samples,
int viewCount )

Definition at line 2329 of file qssgrenderhelpers.cpp.

References QSSGRenderContextInterface::QSSGLayerRenderData.

Here is the call graph for this function:

◆ rhiPrepareDepthTexture()

bool RenderHelpers::rhiPrepareDepthTexture ( QSSGRhiContext * rhiCtx,
const QSize & size,
QSSGRhiRenderableTexture * renderableTex,
quint8 viewCount,
int samples = 1 )

Definition at line 2576 of file qssgrenderhelpers.cpp.

◆ rhiPrepareGrid()

void RenderHelpers::rhiPrepareGrid ( QSSGRhiContext * rhiCtx,
QSSGPassKey passKey,
QSSGRenderLayer & layer,
QSSGRenderCameraList & cameras,
QSSGRenderer & renderer )

Definition at line 2124 of file qssgrenderhelpers.cpp.

Referenced by InfiniteGridPass::renderPrep().

Here is the caller graph for this function:

◆ rhiPrepareMotionVectorRenderable()

void RenderHelpers::rhiPrepareMotionVectorRenderable ( QSSGRhiContext * rhiCtx,
QSSGPassKey passKey,
const QSSGLayerRenderData & inData,
const QMatrix4x4 & viewProjection,
QSSGRenderableObject & inObject,
QRhiRenderPassDescriptor * renderPassDescriptor,
QSSGRhiGraphicsPipelineState * ps,
QSSGRenderMotionVectorMap & motionVectorMapManager )

Definition at line 3760 of file qssgrenderhelpers.cpp.

◆ rhiPrepareMotionVectorTexture()

bool RenderHelpers::rhiPrepareMotionVectorTexture ( QSSGRhiContext * rhiCtx,
const QSize & size,
QSSGRhiRenderableTexture * renderableTex )

Definition at line 3704 of file qssgrenderhelpers.cpp.

◆ rhiPrepareNormalPass()

bool RenderHelpers::rhiPrepareNormalPass ( QSSGRhiContext * rhiCtx,
QSSGPassKey passKey,
const QSSGRhiGraphicsPipelineState & basePipelineState,
QRhiRenderPassDescriptor * rpDesc,
QSSGLayerRenderData & inData,
const QSSGRenderableObjectList & sortedOpaqueObjects )

Definition at line 2625 of file qssgrenderhelpers.cpp.

◆ rhiPrepareOriginalMaterialUserPass()

void RenderHelpers::rhiPrepareOriginalMaterialUserPass ( QSSGRhiContext * rhiCtx,
QSSGPassKey passKey,
const QSSGRhiGraphicsPipelineState & basePipelineState,
QRhiRenderPassDescriptor * rpDesc,
const QSSGLayerRenderData & inData,
QSSGRenderableObjectList & inObjects,
QSSGShaderFeatures featureSet,
size_t index )

Definition at line 3074 of file qssgrenderhelpers.cpp.

Referenced by UserRenderPass::preparePassImpl().

Here is the caller graph for this function:

◆ rhiPrepareOverrideMaterialUserPass()

void RenderHelpers::rhiPrepareOverrideMaterialUserPass ( QSSGRhiContext * rhiCtx,
QSSGPassKey passKey,
const QSSGRhiGraphicsPipelineState & basePipelineState,
QRhiRenderPassDescriptor * rpDesc,
QSSGRenderGraphObject * overrideMaterial,
QSSGLayerRenderData & inData,
QSSGRenderableObjectList & inObjects,
QSSGShaderFeatures featureSet,
size_t index )

Definition at line 2843 of file qssgrenderhelpers.cpp.

Referenced by UserRenderPass::preparePassImpl().

Here is the caller graph for this function:

◆ rhiPrepareRenderable()

void RenderHelpers::rhiPrepareRenderable ( QSSGRhiContext * rhiCtx,
QSSGPassKey passKey,
const QSSGLayerRenderData & inData,
QSSGRenderableObject & inObject,
QRhiRenderPassDescriptor * renderPassDescriptor,
QSSGRhiGraphicsPipelineState * ps,
QSSGShaderFeatures featureSet,
int samples,
int viewCount,
QSSGRenderCamera * alteredCamera = nullptr,
QMatrix4x4 * alteredModelViewProjection = nullptr,
QSSGRenderTextureCubeFace cubeFace = QSSGRenderTextureCubeFaceNone,
QSSGReflectionMapEntry * entry = nullptr,
bool oit = false )

Definition at line 936 of file qssgrenderhelpers.cpp.

References addAccumulatorImageBindings().

Here is the call graph for this function:

◆ rhiPrepareScreenTexture()

bool RenderHelpers::rhiPrepareScreenTexture ( QSSGRhiContext * rhiCtx,
const QSize & size,
bool wantsMips,
QSSGRhiRenderableTexture * renderableTex,
quint8 viewCount )

Definition at line 2044 of file qssgrenderhelpers.cpp.

◆ rhiPrepareSkyBox()

void RenderHelpers::rhiPrepareSkyBox ( QSSGRhiContext * rhiCtx,
QSSGPassKey passKey,
QSSGRenderLayer & layer,
QSSGRenderCameraList & cameras,
QSSGRenderer & renderer,
uint tonemapMode = 0 )

Definition at line 2297 of file qssgrenderhelpers.cpp.

Referenced by SkyboxCubeMapPass::renderPrep(), and SkyboxPass::renderPrep().

Here is the caller graph for this function:

◆ rhiPrepareSkyBoxForReflectionMap()

void RenderHelpers::rhiPrepareSkyBoxForReflectionMap ( QSSGRhiContext * rhiCtx,
QSSGPassKey passKey,
QSSGRenderLayer & layer,
QSSGRenderCamera & inCamera,
QSSGRenderer & renderer,
QSSGReflectionMapEntry * entry,
QSSGRenderTextureCubeFace cubeFace )

Definition at line 2312 of file qssgrenderhelpers.cpp.

◆ rhiRenderAoTexture()

void RenderHelpers::rhiRenderAoTexture ( QSSGRhiContext * rhiCtx,
QSSGPassKey passKey,
QSSGRenderer & renderer,
QSSGRhiShaderPipeline & shaderPipeline,
QSSGRhiGraphicsPipelineState & ps,
const QSSGAmbientOcclusionSettings & ao,
const QSSGRhiRenderableTexture & rhiAoTexture,
const QSSGRhiRenderableTexture & rhiDepthTexture,
const QSSGRenderCamera & camera )

Definition at line 1970 of file qssgrenderhelpers.cpp.

◆ rhiRenderDepthPass()

void RenderHelpers::rhiRenderDepthPass ( QSSGRhiContext * rhiCtx,
const QSSGRhiGraphicsPipelineState & ps,
const QSSGRenderableObjectList & sortedOpaqueObjects,
const QSSGRenderableObjectList & sortedTransparentObjects,
bool * needsSetViewport )

Definition at line 2506 of file qssgrenderhelpers.cpp.

◆ rhiRenderMotionVector()

void RenderHelpers::rhiRenderMotionVector ( QSSGRhiContext * rhiCtx,
const QSSGRhiGraphicsPipelineState & state,
const QSSGRenderableObjectList * motionVectorPassObjects,
int bucketsCount )

Definition at line 3962 of file qssgrenderhelpers.cpp.

◆ rhiRenderNormalPass()

void RenderHelpers::rhiRenderNormalPass ( QSSGRhiContext * rhiCtx,
const QSSGRhiGraphicsPipelineState & ps,
const QSSGRenderableObjectList & sortedOpaqueObjects,
bool * needsSetViewport )

Definition at line 2782 of file qssgrenderhelpers.cpp.

◆ rhiRenderReflectionMap()

void RenderHelpers::rhiRenderReflectionMap ( QSSGRhiContext * rhiCtx,
QSSGPassKey passKey,
const QSSGLayerRenderData & inData,
QSSGRhiGraphicsPipelineState * ps,
QSSGRenderReflectionMap & reflectionMapManager,
const QVector< QSSGRenderReflectionProbe * > & reflectionProbes,
const QSSGRenderableObjectList & reflectionPassObjects,
QSSGRenderer & renderer )

Definition at line 1810 of file qssgrenderhelpers.cpp.

◆ rhiRenderRenderable()

void RenderHelpers::rhiRenderRenderable ( QSSGRhiContext * rhiCtx,
const QSSGRhiGraphicsPipelineState & state,
QSSGRenderableObject & object,
bool * needsSetViewport,
QSSGRenderTextureCubeFace cubeFace = QSSGRenderTextureCubeFaceNone,
qsizetype userPassIndex = -1 )

Definition at line 1308 of file qssgrenderhelpers.cpp.

◆ rhiRenderShadowMap()

void RenderHelpers::rhiRenderShadowMap ( QSSGRhiContext * rhiCtx,
QSSGPassKey passKey,
QSSGRhiGraphicsPipelineState & ps,
QSSGRenderShadowMap & shadowMapManager,
const QSSGRenderCamera & camera,
QSSGRenderCamera * debugCamera,
const QSSGShaderLightList & globalLights,
const QSSGRenderableObjectList & sortedOpaqueObjects,
QSSGRenderer & renderer,
const QSSGBounds3 & castingObjectsBox,
const QSSGBounds3 & receivingObjectsBox )

Definition at line 1413 of file qssgrenderhelpers.cpp.

References ShadowmapHelpers::addDebugBox(), ShadowmapHelpers::addDirectionalLightDebugBox(), QSSGRenderableObjectFlags::castsShadows(), QSSGRenderableObjectHandle::obj, QSSGRenderContextInterface::QSSGLayerRenderData, QSSGRenderContextInterface::QSSGRenderer, and QSSGRenderableObject::renderableFlags.

Here is the call graph for this function:

◆ rhiRenderUserAugmentedPass()

void RenderHelpers::rhiRenderUserAugmentedPass ( QSSGRhiContext * rhiCtx,
QSSGRenderableObjectList & inObjects )