Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
|
#include <qssgrenderbuffermanager_p.h>
Classes | |
struct | CustomImageCacheKey |
struct | ImageCacheKey |
struct | ImageData |
struct | MemoryStats |
struct | MeshData |
Public Types | |
enum | MipMode { MipModeFollowRenderImage , MipModeEnable , MipModeDisable , MipModeBsdf } |
enum | LoadRenderImageFlag { LoadWithFlippedY = 0x01 } |
Static Public Member Functions | |
static std::unique_ptr< QSSGMeshBVH > | loadMeshBVH (const QSSGRenderPath &inSourcePath) |
static std::unique_ptr< QSSGMeshBVH > | loadMeshBVH (QSSGRenderGeometry *geometry) |
static QSSGMesh::Mesh | loadMeshData (const QSSGRenderPath &inSourcePath) |
static QRhiTexture::Format | toRhiFormat (const QSSGRenderTextureFormat format) |
static void | registerMeshData (const QString &assetId, const QVector< QSSGMesh::Mesh > &meshData) |
static void | unregisterMeshData (const QString &assetId) |
static QString | runtimeMeshSourceName (const QString &assetId, qsizetype meshId) |
static QString | primitivePath (const QString &primitive) |
Definition at line 77 of file qssgrenderbuffermanager_p.h.
Enumerator | |
---|---|
LoadWithFlippedY |
Definition at line 117 of file qssgrenderbuffermanager_p.h.
Enumerator | |
---|---|
MipModeFollowRenderImage | |
MipModeEnable | |
MipModeDisable | |
MipModeBsdf |
Definition at line 110 of file qssgrenderbuffermanager_p.h.
QSSGBufferManager::QSSGBufferManager | ( | ) |
Definition at line 129 of file qssgrenderbuffermanager.cpp.
QSSGBufferManager::~QSSGBufferManager | ( | ) |
Definition at line 133 of file qssgrenderbuffermanager.cpp.
void QSSGBufferManager::cleanupUnreferencedBuffers | ( | quint32 | frameId, |
QSSGRenderLayer * | layer ) |
Definition at line 1465 of file qssgrenderbuffermanager.cpp.
References QSSGBufferManagerStat::Debug, decreaseMemoryStat(), QSSGBufferManagerStat::enabled(), QSSGRhiContextPrivate::get(), Q_UNUSED, qDebug, QSSGRenderContextInterface::rhiContext(), and QSSGBufferManagerStat::Usage.
Referenced by releaseResourcesForLayer().
void QSSGBufferManager::commitBufferResourceUpdates | ( | ) |
Definition at line 1953 of file qssgrenderbuffermanager.cpp.
References QSSGRenderContextInterface::rhiContext().
Referenced by processResourceLoader().
void QSSGBufferManager::decreaseMemoryStat | ( | QRhiTexture * | texture | ) |
Definition at line 2051 of file qssgrenderbuffermanager.cpp.
References QSSGRhiContextStats::get(), QSSGBufferManager::MemoryStats::imageDataSize, qMax(), QSSGRenderContextInterface::rhiContext(), and textureMemorySize().
Referenced by cleanupUnreferencedBuffers(), releaseGeometry(), and releaseTextureData().
void QSSGBufferManager::decreaseMemoryStat | ( | QSSGRenderMesh * | mesh | ) |
Definition at line 2064 of file qssgrenderbuffermanager.cpp.
References bufferMemorySize(), QSSGRhiContextStats::get(), QSSGBufferManager::MemoryStats::meshDataSize, qMax(), QSSGRenderContextInterface::rhiContext(), and QSSGRenderMesh::subsets.
|
inline |
Definition at line 182 of file qssgrenderbuffermanager_p.h.
|
inline |
Definition at line 179 of file qssgrenderbuffermanager_p.h.
|
inline |
Definition at line 178 of file qssgrenderbuffermanager_p.h.
QSSGRenderMesh * QSSGBufferManager::getMeshForPicking | ( | const QSSGRenderModel & | model | ) | const |
Definition at line 332 of file qssgrenderbuffermanager.cpp.
References model.
Referenced by QSSGRendererPrivate::intersectRayWithSubsetRenderable().
|
inline |
Definition at line 181 of file qssgrenderbuffermanager_p.h.
QSSGBounds3 QSSGBufferManager::getModelBounds | ( | const QSSGRenderModel * | model | ) | const |
Definition at line 1156 of file qssgrenderbuffermanager.cpp.
References QSSGMesh::Mesh::isValid(), loadMeshData(), model, and QSSGMesh::Mesh::subsets().
|
inline |
Definition at line 180 of file qssgrenderbuffermanager_p.h.
void QSSGBufferManager::increaseMemoryStat | ( | QRhiTexture * | texture | ) |
Definition at line 2045 of file qssgrenderbuffermanager.cpp.
References QSSGRhiContextStats::get(), QSSGBufferManager::MemoryStats::imageDataSize, QSSGRenderContextInterface::rhiContext(), and textureMemorySize().
Referenced by loadLightmap(), and loadRenderImage().
void QSSGBufferManager::increaseMemoryStat | ( | QSSGRenderMesh * | mesh | ) |
Definition at line 2057 of file qssgrenderbuffermanager.cpp.
References bufferMemorySize(), QSSGRhiContextStats::get(), QSSGBufferManager::MemoryStats::meshDataSize, QSSGRenderContextInterface::rhiContext(), and QSSGRenderMesh::subsets.
QSSGRenderImageTexture QSSGBufferManager::loadLightmap | ( | const QSSGRenderModel & | model | ) |
Definition at line 297 of file qssgrenderbuffermanager.cpp.
References QSSGBufferManager::MemoryStats::imageDataSize, increaseMemoryStat(), QSSGLightmapper::lightmapAssetPathForLoad(), QSSGLightmapper::LightmapImage, QSSGLoadedTexture::load(), MipModeDisable, model, Q_QUICK3D_PROFILE_END_WITH_STRING, Q_QUICK3D_PROFILE_START, Q_TRACE_SCOPE, qCWarning, qPrintable, and QSSGRenderTextureFormat::RGBA16F.
QSSGRenderMesh * QSSGBufferManager::loadMesh | ( | const QSSGRenderModel * | model | ) |
Definition at line 1134 of file qssgrenderbuffermanager.cpp.
References QSSGLightmapper::lightmapAssetPathForLoad(), QSSGMeshProcessingOptions::lightmapBaseResolution, QSSGMeshProcessingOptions::meshFileOverride, QSSGLightmapper::MeshWithLightmapUV, model, and QSSGMeshProcessingOptions::wantsLightmapUVs.
|
static |
Definition at line 1759 of file qssgrenderbuffermanager.cpp.
References QSSGMesh::Mesh::isValid(), loadMeshData(), qCWarning, and qPrintable.
|
static |
Definition at line 1770 of file qssgrenderbuffermanager.cpp.
References QSSGRenderGeometry::attribute(), QSSGRenderGeometry::attributeCount(), i, QSSGRenderGeometry::indexBuffer(), QSSGMesh::RuntimeMeshData::Attribute::IndexSemantic, Int16, Int32, QSSGRenderGeometry::Attribute::offset, QSSGMesh::RuntimeMeshData::Attribute::PositionSemantic, QSSGRenderGeometry::primitiveType(), QSSGRenderGeometry::stride(), QSSGMesh::RuntimeMeshData::Attribute::TexCoord0Semantic, QSSGMesh::RuntimeMeshData::Attribute::TexCoord1Semantic, and QSSGRenderGeometry::vertexBuffer().
QSSGMesh::Mesh QSSGBufferManager::loadMeshData | ( | const QSSGRenderGeometry * | geometry | ) |
Definition at line 1861 of file qssgrenderbuffermanager.cpp.
References error, QSSGMesh::Mesh::fromRuntimeData(), QSSGMesh::Mesh::isValid(), QSSGRenderGeometry::meshData(), qPrintable, and qWarning.
|
static |
Definition at line 1816 of file qssgrenderbuffermanager.cpp.
References device, QSSGInputUtil::getStreamForFile(), QSSGMesh::Mesh::isValid(), QString::lastIndexOf(), QSSGMesh::Mesh::loadMesh(), QStringView::mid(), qWarning, and splitRuntimeMeshPath().
Referenced by getModelBounds(), and loadMeshBVH().
QSSGRenderImageTexture QSSGBufferManager::loadRenderImage | ( | const QSSGRenderImage * | image, |
MipMode | inMipMode = MipModeFollowRenderImage, | ||
LoadRenderImageFlags | flags = LoadWithFlippedY ) |
Definition at line 158 of file qssgrenderbuffermanager.cpp.
References context, QSSGBufferManagerStat::Debug, QSSGBufferManagerStat::enabled(), fileName, QSSGBufferManager::MemoryStats::imageDataSize, increaseMemoryStat(), it, QSSGLoadedTexture::load(), LoadWithFlippedY, MipModeBsdf, MipModeDisable, MipModeEnable, MipModeFollowRenderImage, QRhi::nextResourceUpdateBatch(), Q_QUICK3D_PROFILE_END_WITH_ID, Q_QUICK3D_PROFILE_END_WITH_STRING, Q_QUICK3D_PROFILE_START, Q_TRACE_SCOPE, qCWarning, qDebug, qPrintable, qWarning, and QSSGRenderContextInterface::rhiContext().
Referenced by processResourceLoader().
QSSGRenderImageTexture QSSGBufferManager::loadSkinmap | ( | QSSGRenderTextureData * | skin | ) |
Definition at line 327 of file qssgrenderbuffermanager.cpp.
References MipModeDisable.
QMutex * QSSGBufferManager::meshUpdateMutex | ( | ) |
Definition at line 1114 of file qssgrenderbuffermanager.cpp.
Referenced by QSSGRendererPrivate::intersectRayWithSubsetRenderable().
Definition at line 1101 of file qssgrenderbuffermanager.cpp.
References file, QString::fromLatin1(), nPrimitives, primitives, primitivesDirectory, and QString::toUtf8().
Referenced by loadModelBlendParticleMesh(), and loadModelShapeMesh().
void QSSGBufferManager::processResourceLoader | ( | const QSSGRenderResourceLoader * | loader | ) |
Definition at line 1961 of file qssgrenderbuffermanager.cpp.
References commitBufferResourceUpdates(), QSSGRenderResourceLoader::geometries, loadRenderImage(), QSSGRenderResourceLoader::meshes, and QSSGRenderResourceLoader::textures.
void QSSGBufferManager::registerExtensionResult | ( | const QSSGRenderExtension & | extensions, |
QRhiTexture * | texture ) |
Definition at line 1871 of file qssgrenderbuffermanager.cpp.
References QRhi::mipLevelsForSize(), QRhiTexture::MipMapped, QRhiTexture::RGBA8, QRhiTexture::sRGB, and QFlags< Enum >::testFlag().
|
static |
Definition at line 1626 of file qssgrenderbuffermanager.cpp.
References QSet< T >::end(), QSet< T >::find(), QSet< T >::insert(), and it.
Referenced by QSSGRuntimeUtils::createScene().
void QSSGBufferManager::releaseCachedResources | ( | ) |
Definition at line 144 of file qssgrenderbuffermanager.cpp.
void QSSGBufferManager::releaseExtensionResult | ( | const QSSGRenderExtension & | rext | ) |
Definition at line 1422 of file qssgrenderbuffermanager.cpp.
void QSSGBufferManager::releaseGeometry | ( | QSSGRenderGeometry * | geometry | ) |
Definition at line 1372 of file qssgrenderbuffermanager.cpp.
References QSSGBufferManagerStat::Debug, decreaseMemoryStat(), QSSGBufferManagerStat::enabled(), QSSGRhiContextPrivate::get(), QSSGBufferManager::MemoryStats::meshDataSize, Q_QUICK3D_PROFILE_END_WITH_ID, Q_QUICK3D_PROFILE_START, Q_TRACE_SCOPE, qDebug, and QSSGRenderContextInterface::rhiContext().
void QSSGBufferManager::releaseResourcesForLayer | ( | QSSGRenderLayer * | layer | ) |
Definition at line 149 of file qssgrenderbuffermanager.cpp.
References cleanupUnreferencedBuffers(), and resetUsageCounters().
void QSSGBufferManager::releaseTextureData | ( | const CustomImageCacheKey & | key | ) |
Definition at line 1401 of file qssgrenderbuffermanager.cpp.
References QSSGBufferManagerStat::Debug, decreaseMemoryStat(), QSSGBufferManagerStat::enabled(), QSSGRhiContextPrivate::get(), QSSGBufferManager::MemoryStats::imageDataSize, Q_QUICK3D_PROFILE_END_WITH_ID, Q_QUICK3D_PROFILE_START, Q_TRACE_SCOPE, qDebug, and QSSGRenderContextInterface::rhiContext().
void QSSGBufferManager::releaseTextureData | ( | const QSSGRenderTextureData * | data | ) |
Definition at line 1390 of file qssgrenderbuffermanager.cpp.
References it, keys, and releaseTextureData().
Referenced by releaseTextureData().
void QSSGBufferManager::resetUsageCounters | ( | quint32 | frameId, |
QSSGRenderLayer * | layer ) |
Definition at line 1590 of file qssgrenderbuffermanager.cpp.
References imageData.
Referenced by releaseResourcesForLayer().
|
static |
Definition at line 83 of file qssgrenderbuffermanager.cpp.
References QString::fromUtf16(), and QString::number().
Referenced by QSSGRuntimeUtils::applyPropertyValue().
void QSSGBufferManager::setRenderContextInterface | ( | QSSGRenderContextInterface * | ctx | ) |
Definition at line 139 of file qssgrenderbuffermanager.cpp.
|
static |
Definition at line 349 of file qssgrenderbuffermanager.cpp.
References QSSGRenderTextureFormat::Alpha8, QRhiTexture::ASTC_10x10, QRhiTexture::ASTC_10x5, QRhiTexture::ASTC_10x6, QRhiTexture::ASTC_10x8, QRhiTexture::ASTC_12x10, QRhiTexture::ASTC_12x12, QRhiTexture::ASTC_4x4, QRhiTexture::ASTC_5x4, QRhiTexture::ASTC_5x5, QRhiTexture::ASTC_6x5, QRhiTexture::ASTC_6x6, QRhiTexture::ASTC_8x5, QRhiTexture::ASTC_8x6, QRhiTexture::ASTC_8x8, QRhiTexture::BC1, QRhiTexture::BC2, QRhiTexture::BC3, QRhiTexture::ETC2_RGBA8, QSSGRenderTextureFormat::Luminance16, QSSGRenderTextureFormat::Luminance8, QSSGRenderTextureFormat::LuminanceAlpha8, qWarning, QRhiTexture::R16, QSSGRenderTextureFormat::R16, QRhiTexture::R16F, QSSGRenderTextureFormat::R16F, QRhiTexture::R32F, QSSGRenderTextureFormat::R32F, QRhiTexture::R8, QSSGRenderTextureFormat::R8, QRhiTexture::RED_OR_ALPHA8, QSSGRenderTextureFormat::RGB_DXT1, QRhiTexture::RGBA16F, QSSGRenderTextureFormat::RGBA16F, QRhiTexture::RGBA32F, QSSGRenderTextureFormat::RGBA32F, QRhiTexture::RGBA8, QSSGRenderTextureFormat::RGBA8, QSSGRenderTextureFormat::RGBA8_ETC2_EAC, QSSGRenderTextureFormat::RGBA_ASTC_10x10, QSSGRenderTextureFormat::RGBA_ASTC_10x5, QSSGRenderTextureFormat::RGBA_ASTC_10x6, QSSGRenderTextureFormat::RGBA_ASTC_10x8, QSSGRenderTextureFormat::RGBA_ASTC_12x10, QSSGRenderTextureFormat::RGBA_ASTC_12x12, QSSGRenderTextureFormat::RGBA_ASTC_4x4, QSSGRenderTextureFormat::RGBA_ASTC_5x4, QSSGRenderTextureFormat::RGBA_ASTC_5x5, QSSGRenderTextureFormat::RGBA_ASTC_6x5, QSSGRenderTextureFormat::RGBA_ASTC_6x6, QSSGRenderTextureFormat::RGBA_ASTC_8x5, QSSGRenderTextureFormat::RGBA_ASTC_8x6, QSSGRenderTextureFormat::RGBA_ASTC_8x8, QSSGRenderTextureFormat::RGBA_DXT3, QSSGRenderTextureFormat::RGBA_DXT5, QSSGRenderTextureFormat::RGBE8, QSSGRenderTextureFormat::SRGB8A8, and QRhiTexture::UnknownFormat.
Referenced by QQuick3DSceneRenderer::synchronize().
Definition at line 1635 of file qssgrenderbuffermanager.cpp.
References QSet< T >::end(), QSet< T >::find(), and it.