85 typedef QVector<QSSGReflectionMapEntry> TReflectionMapEntryList;
86 Q_DISABLE_COPY(QSSGRenderReflectionMap)
89 const QSSGRenderContextInterface &m_context;
91 explicit QSSGRenderReflectionMap(
const QSSGRenderContextInterface &inContext);
92 ~QSSGRenderReflectionMap();
93 void releaseCachedResources();
95 void addReflectionMapEntry(qint32 probeIdx,
const QSSGRenderReflectionProbe &probe);
96 void addTexturedReflectionMapEntry(qint32 probeIdx,
const QSSGRenderReflectionProbe &probe);
98 QSSGReflectionMapEntry *reflectionMapEntry(
int probeIdx);
100 qint32 reflectionMapEntryCount() {
return m_reflectionMapList.size(); }
103 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