87 typedef QVector<QSSGReflectionMapEntry> TReflectionMapEntryList;
88 Q_DISABLE_COPY(QSSGRenderReflectionMap)
91 const QSSGRenderContextInterface &m_context;
93 explicit QSSGRenderReflectionMap(
const QSSGRenderContextInterface &inContext);
94 ~QSSGRenderReflectionMap();
95 void releaseCachedResources();
97 void addReflectionMapEntry(qint32 probeIdx,
const QSSGRenderReflectionProbe &probe);
98 void addTexturedReflectionMapEntry(qint32 probeIdx,
const QSSGRenderReflectionProbe &probe);
100 QSSGReflectionMapEntry *reflectionMapEntry(
int probeIdx);
102 qint32 reflectionMapEntryCount() {
return m_reflectionMapList.size(); }
105 TReflectionMapEntryList m_reflectionMapList;
QVarLengthArray< QRhiTextureRenderTarget *, 6 > m_rhiRenderTargets
QSSGRenderReflectionProbe::ReflectionTimeSlicing m_timeSlicing
QVarLengthArray< QRhiShaderResourceBindings *, 6 > m_skyBoxSrbs
static QSSGReflectionMapEntry withRhiTexturedCubeMap(quint32 probeIdx, QRhiTexture *preFiltered)
QRhiRenderPassDescriptor * m_rhiRenderPassDesc
static QSSGReflectionMapEntry withRhiCubeMap(quint32 probeIdx, QRhiTexture *cube, QRhiTexture *prefiltered, QRhiRenderBuffer *depthStencil)
QRhiShaderResourceBindings * m_irradianceSrb
QRhiShaderResourceBindings * m_prefilterSrb
QMap< int, QSize > m_prefilterMipLevelSizes
void destroyRhiResources()
QRhiTexture * m_rhiPrefilteredCube
QRhiRenderPassDescriptor * m_rhiPrefilterRenderPassDesc
QRhiBuffer * m_prefilterFragBuffer
QRhiBuffer * m_prefilterVertBuffer
QRhiGraphicsPipeline * m_irradiancePipeline
QMatrix4x4 m_viewProjection
QRhiBuffer * m_irradianceFragBuffer
QRhiGraphicsPipeline * m_prefilterPipeline
QMap< int, QVarLengthArray< QRhiTextureRenderTarget *, 6 > > m_rhiPrefilterRenderTargetsMap
void renderMips(QSSGRhiContext *rhiCtx)
QRhiRenderBuffer * m_rhiDepthStencil
QSSGRenderTextureCubeFace m_timeSliceFace