![]() |
Qt 6.x
The Qt SDK
|
#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 QSSGMeshBVH * | loadMeshBVH (const QSSGRenderPath &inSourcePath) |
static 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 76 of file qssgrenderbuffermanager_p.h.
Enumerator | |
---|---|
LoadWithFlippedY |
Definition at line 116 of file qssgrenderbuffermanager_p.h.
Enumerator | |
---|---|
MipModeFollowRenderImage | |
MipModeEnable | |
MipModeDisable | |
MipModeBsdf |
Definition at line 109 of file qssgrenderbuffermanager_p.h.
QSSGBufferManager::QSSGBufferManager | ( | ) |
Definition at line 108 of file qssgrenderbuffermanager.cpp.
QSSGBufferManager::~QSSGBufferManager | ( | ) |
Definition at line 112 of file qssgrenderbuffermanager.cpp.
void QSSGBufferManager::cleanupUnreferencedBuffers | ( | quint32 | frameId, |
QSSGRenderLayer * | layer | ||
) |
Definition at line 1417 of file qssgrenderbuffermanager.cpp.
References decreaseMemoryStat(), Q_UNUSED, qDebug, and QSSGRenderContextInterface::rhiContext().
void QSSGBufferManager::commitBufferResourceUpdates | ( | ) |
Definition at line 1860 of file qssgrenderbuffermanager.cpp.
References QSSGRenderContextInterface::rhiContext().
Referenced by processResourceLoader().
void QSSGBufferManager::decreaseMemoryStat | ( | QRhiTexture * | texture | ) |
Definition at line 1958 of file qssgrenderbuffermanager.cpp.
References QSSGBufferManager::MemoryStats::imageDataSize, qMax(), QSSGRenderContextInterface::rhiContext(), and textureMemorySize().
Referenced by cleanupUnreferencedBuffers(), releaseGeometry(), and releaseTextureData().
void QSSGBufferManager::decreaseMemoryStat | ( | QSSGRenderMesh * | mesh | ) |
Definition at line 1971 of file qssgrenderbuffermanager.cpp.
References bufferMemorySize(), QSSGBufferManager::MemoryStats::meshDataSize, qMax(), QSSGRenderContextInterface::rhiContext(), and QSSGRenderMesh::subsets.
|
inline |
Definition at line 176 of file qssgrenderbuffermanager_p.h.
|
inline |
Definition at line 173 of file qssgrenderbuffermanager_p.h.
|
inline |
Definition at line 172 of file qssgrenderbuffermanager_p.h.
QSSGRenderMesh * QSSGBufferManager::getMeshForPicking | ( | const QSSGRenderModel & | model | ) | const |
Definition at line 298 of file qssgrenderbuffermanager.cpp.
References model.
Referenced by QSSGRenderer::intersectRayWithSubsetRenderable().
|
inline |
Definition at line 175 of file qssgrenderbuffermanager_p.h.
QSSGBounds3 QSSGBufferManager::getModelBounds | ( | const QSSGRenderModel * | model | ) | const |
Definition at line 1112 of file qssgrenderbuffermanager.cpp.
References QSSGBounds3::include(), QSSGMesh::Mesh::isValid(), loadMeshData(), model, QSSGRenderMesh::subsets, and QSSGMesh::Mesh::subsets().
Referenced by QSSGRenderNode::getBounds(), and QQuick3DSceneManager::updateBoundingBoxes().
|
inline |
Definition at line 174 of file qssgrenderbuffermanager_p.h.
void QSSGBufferManager::increaseMemoryStat | ( | QRhiTexture * | texture | ) |
Definition at line 1952 of file qssgrenderbuffermanager.cpp.
References QSSGBufferManager::MemoryStats::imageDataSize, QSSGRenderContextInterface::rhiContext(), and textureMemorySize().
Referenced by loadLightmap(), and loadRenderImage().
void QSSGBufferManager::increaseMemoryStat | ( | QSSGRenderMesh * | mesh | ) |
Definition at line 1964 of file qssgrenderbuffermanager.cpp.
References bufferMemorySize(), QSSGBufferManager::MemoryStats::meshDataSize, QSSGRenderContextInterface::rhiContext(), and QSSGRenderMesh::subsets.
QSSGRenderImageTexture QSSGBufferManager::loadLightmap | ( | const QSSGRenderModel & | model | ) |
Definition at line 263 of file qssgrenderbuffermanager.cpp.
References QScopedPointer< T, Cleanup >::data(), 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, QScopedPointer< T, Cleanup >::reset(), QSSGRenderTextureFormat::RGBA16F, and QString::toUtf8().
QSSGRenderMesh * QSSGBufferManager::loadMesh | ( | const QSSGRenderModel * | model | ) |
Definition at line 1090 of file qssgrenderbuffermanager.cpp.
References QSSGLightmapper::lightmapAssetPathForLoad(), QSSGMeshProcessingOptions::lightmapBaseResolution, QSSGMeshProcessingOptions::meshFileOverride, QSSGLightmapper::MeshWithLightmapUV, model, and QSSGMeshProcessingOptions::wantsLightmapUVs.
|
static |
Definition at line 1684 of file qssgrenderbuffermanager.cpp.
References QSSGMeshBVHBuilder::buildTree(), QSSGMesh::Mesh::isValid(), loadMeshData(), QSSGRenderPath::path(), qCWarning, and qPrintable.
|
static |
Definition at line 1695 of file qssgrenderbuffermanager.cpp.
References QSSGRenderGeometry::attribute(), QSSGRenderGeometry::attributeCount(), QSSGMeshBVHBuilder::buildTree(), 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 1786 of file qssgrenderbuffermanager.cpp.
References error, QSSGMesh::Mesh::fromRuntimeData(), QSSGMesh::Mesh::isValid(), QSSGRenderGeometry::meshData(), qPrintable, and qWarning.
|
static |
Definition at line 1741 of file qssgrenderbuffermanager.cpp.
References device, QChar::fromLatin1(), QSSGInputUtil::getStreamForFile(), QString::isEmpty(), QSSGMesh::Mesh::isValid(), QString::lastIndexOf(), QString::left(), QSSGMesh::Mesh::loadMesh(), QStringView::mid(), QSSGRenderPath::path(), qWarning, splitRuntimeMeshPath(), QString::startsWith(), and QStringView::toUInt().
Referenced by getModelBounds(), and loadMeshBVH().
QSSGRenderImageTexture QSSGBufferManager::loadRenderImage | ( | const QSSGRenderImage * | image, |
MipMode | inMipMode = MipModeFollowRenderImage , |
||
LoadRenderImageFlags | flags = LoadWithFlippedY |
||
) |
Definition at line 128 of file qssgrenderbuffermanager.cpp.
References QSGTexture::commitTextureOperations(), context, QScopedPointer< T, Cleanup >::data(), fileName, QSGTexture::hasAlphaChannel(), QSSGBufferManager::MemoryStats::imageDataSize, increaseMemoryStat(), QSGTexture::isAtlasTexture(), QSSGLoadedTexture::load(), LoadWithFlippedY, QRhiTexture::m_flags, 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, QSGTexture::removedFromAtlas(), QScopedPointer< T, Cleanup >::reset(), QRhiResource::rhi(), QSSGRenderContextInterface::rhiContext(), and QSGTexture::rhiTexture().
Referenced by processResourceLoader().
QSSGRenderImageTexture QSSGBufferManager::loadSkinmap | ( | QSSGRenderTextureData * | skin | ) |
Definition at line 293 of file qssgrenderbuffermanager.cpp.
References MipModeDisable.
QMutex * QSSGBufferManager::meshUpdateMutex | ( | ) |
Definition at line 1070 of file qssgrenderbuffermanager.cpp.
Referenced by QSSGRenderer::intersectRayWithSubsetRenderable().
Definition at line 1057 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 1868 of file qssgrenderbuffermanager.cpp.
References commitBufferResourceUpdates(), loader, and loadRenderImage().
|
static |
Definition at line 1556 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 123 of file qssgrenderbuffermanager.cpp.
void QSSGBufferManager::releaseGeometry | ( | QSSGRenderGeometry * | geometry | ) |
Definition at line 1329 of file qssgrenderbuffermanager.cpp.
References decreaseMemoryStat(), QSSGBufferManager::MemoryStats::meshDataSize, Q_QUICK3D_PROFILE_END_WITH_ID, Q_QUICK3D_PROFILE_START, Q_TRACE_SCOPE, qDebug, and QSSGRenderContextInterface::rhiContext().
void QSSGBufferManager::releaseTextureData | ( | const CustomImageCacheKey & | key | ) |
Definition at line 1358 of file qssgrenderbuffermanager.cpp.
References decreaseMemoryStat(), 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 1347 of file qssgrenderbuffermanager.cpp.
References it, keys, and releaseTextureData().
Referenced by releaseTextureData().
void QSSGBufferManager::resetUsageCounters | ( | quint32 | frameId, |
QSSGRenderLayer * | layer | ||
) |
Definition at line 1528 of file qssgrenderbuffermanager.cpp.
References imageData.
|
static |
Definition at line 62 of file qssgrenderbuffermanager.cpp.
References QString::arg(), QString::fromUtf16(), and QString::number().
Referenced by QSSGRuntimeUtils::applyPropertyValue().
void QSSGBufferManager::setRenderContextInterface | ( | QSSGRenderContextInterface * | ctx | ) |
Definition at line 118 of file qssgrenderbuffermanager.cpp.
|
static |
Definition at line 315 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 1565 of file qssgrenderbuffermanager.cpp.
References QSet< T >::end(), QSet< T >::find(), and it.