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
qssgrenderbuffermanager.cpp File Reference

(586d1fcd4b0bd6cc4ef99eb9ff29d8788eab7560)

#include "qssgrenderbuffermanager_p.h"
#include <QtQuick3DRuntimeRender/private/qssgrenderloadedtexture_p.h>
#include <QtQuick3DRuntimeRender/private/qssgruntimerenderlogging_p.h>
#include <QtQuick3DUtils/private/qssgmeshbvhbuilder_p.h>
#include <QtQuick3DUtils/private/qssgbounds3_p.h>
#include <QtQuick3DUtils/private/qssgassert_p.h>
#include <QtQuick/QSGTexture>
#include <QtCore/QDir>
#include <QtGui/private/qimage_p.h>
#include <QtQuick/private/qsgtexture_p.h>
#include <QtQuick/private/qsgcompressedtexture_p.h>
#include <QBuffer>
#include "../utils/qssgrenderbasetypes_p.h"
#include <QtQuick3DRuntimeRender/private/qssgrendergeometry_p.h>
#include <QtQuick3DRuntimeRender/private/qssgrendermodel_p.h>
#include <QtQuick3DRuntimeRender/private/qssgrenderimage_p.h>
#include <QtQuick3DRuntimeRender/private/qssgrendertexturedata_p.h>
#include "../qssgrendercontextcore.h"
#include <QtQuick3DRuntimeRender/private/qssglightmapper_p.h>
#include <QtQuick3DRuntimeRender/private/qssgrenderresourceloader_p.h>
#include <qtquick3d_tracepoints_p.h>
#include "../extensionapi/qssgrenderextensions.h"
#include "qssglightmapio_p.h"
Include dependency graph for qssgrenderbuffermanager.cpp:

Go to the source code of this file.

Classes

struct  QSSGBufferManagerStat
struct  MeshStorageRef

Typedefs

using AssetMeshMap = QHash<QString, MeshStorageRef>
using MeshIdxNamePair = QPair<qsizetype, QString>

Enumerations

enum class  Level { Debug = 0x1 , Usage = 0x2 , Debug = 0x1 , Usage = 0x2 }
enum class  Level { Debug = 0x1 , Usage = 0x2 , Debug = 0x1 , Usage = 0x2 }

Functions

struct QSSGBufferManagerStat Q_TRACE_POINT (qtquick3d, QSSG_textureLoad_entry)
static constexpr bool enabled (Level)
 Q_TRACE_POINT (qtquick3d, QSSG_textureLoad_exit)
 Q_TRACE_POINT (qtquick3d, QSSG_meshLoad_entry)
 Q_TRACE_POINT (qtquick3d, QSSG_meshLoad_exit)
 Q_TRACE_POINT (qtquick3d, QSSG_meshLoadPath_entry, const QString &path)
 Q_TRACE_POINT (qtquick3d, QSSG_meshLoadPath_exit)
 Q_TRACE_POINT (qtquick3d, QSSG_textureUnload_entry)
 Q_TRACE_POINT (qtquick3d, QSSG_textureUnload_exit)
 Q_TRACE_POINT (qtquick3d, QSSG_meshUnload_entry)
 Q_TRACE_POINT (qtquick3d, QSSG_meshUnload_exit)
 Q_TRACE_POINT (qtquick3d, QSSG_customMeshLoad_entry)
 Q_TRACE_POINT (qtquick3d, QSSG_customMeshLoad_exit)
 Q_TRACE_POINT (qtquick3d, QSSG_customMeshUnload_entry)
 Q_TRACE_POINT (qtquick3d, QSSG_customMeshUnload_exit)
 Q_TRACE_POINT (qtquick3d, QSSG_textureLoadPath_entry, const QString &path)
 Q_TRACE_POINT (qtquick3d, QSSG_textureLoadPath_exit)
static MeshIdxNamePair splitRuntimeMeshPath (const QSSGRenderPath &rpath)
static constexpr QSize sizeForMipLevel (int mipLevel, const QSize &baseLevelSize)
static QPair< QSSGMesh::Mesh, QStringloadFromLightmapFile (const QString &lightmapPath, const QString &lightmapKey)
static quint64 textureMemorySize (QRhiTexture *texture)
static quint64 bufferMemorySize (const QSSGRhiBufferPtr &buffer)
size_t qHash (const QSSGBufferManager::CustomImageCacheKey &k, size_t seed) noexcept

Variables

struct MeshStorageRef Q_TRACE_POINT
 \qmltype ParticleSystem3D \inherits Node \inqmlmodule QtQuick3D.Particles3D
static const int nPrimitives = 5
static const PrimitiveEntry primitives [nPrimitives]
static const char * primitivesDirectory = "res//primitives"
static const float cube []

Typedef Documentation

◆ AssetMeshMap

◆ MeshIdxNamePair

Enumeration Type Documentation

◆ Level [1/2]

enum class Level
strong
Enumerator
Debug 
Usage 
Debug 
Usage 

Definition at line 0 of file qssgrenderbuffermanager.cpp.

◆ Level [2/2]

enum class Level
strong
Enumerator
Debug 
Usage 
Debug 
Usage 

Definition at line 0 of file qssgrenderbuffermanager.cpp.

Function Documentation

◆ bufferMemorySize()

quint64 bufferMemorySize ( const QSSGRhiBufferPtr & buffer)
inlinestatic

Definition at line 2134 of file qssgrenderbuffermanager.cpp.

◆ enabled()

constexpr bool Q_TRACE_POINT::enabled ( Level )
staticconstexpr

Definition at line 15 of file qssgrenderbuffermanager.cpp.

◆ loadFromLightmapFile()

QPair< QSSGMesh::Mesh, QString > loadFromLightmapFile ( const QString & lightmapPath,
const QString & lightmapKey )
static

Definition at line 133 of file qssgrenderbuffermanager.cpp.

References Mesh, and Metadata.

◆ Q_TRACE_POINT() [1/16]

Q_TRACE_POINT ( qtquick3d ,
QSSG_customMeshLoad_entry  )

◆ Q_TRACE_POINT() [2/16]

Q_TRACE_POINT ( qtquick3d ,
QSSG_customMeshLoad_exit  )

◆ Q_TRACE_POINT() [3/16]

Q_TRACE_POINT ( qtquick3d ,
QSSG_customMeshUnload_entry  )

◆ Q_TRACE_POINT() [4/16]

Q_TRACE_POINT ( qtquick3d ,
QSSG_customMeshUnload_exit  )

◆ Q_TRACE_POINT() [5/16]

Q_TRACE_POINT ( qtquick3d ,
QSSG_meshLoad_entry  )

◆ Q_TRACE_POINT() [6/16]

Q_TRACE_POINT ( qtquick3d ,
QSSG_meshLoad_exit  )

◆ Q_TRACE_POINT() [7/16]

Q_TRACE_POINT ( qtquick3d ,
QSSG_meshLoadPath_entry ,
const QString & path )

◆ Q_TRACE_POINT() [8/16]

Q_TRACE_POINT ( qtquick3d ,
QSSG_meshLoadPath_exit  )

◆ Q_TRACE_POINT() [9/16]

Q_TRACE_POINT ( qtquick3d ,
QSSG_meshUnload_entry  )

◆ Q_TRACE_POINT() [10/16]

Q_TRACE_POINT ( qtquick3d ,
QSSG_meshUnload_exit  )

◆ Q_TRACE_POINT() [11/16]

struct QSSGBufferManagerStat Q_TRACE_POINT ( qtquick3d ,
QSSG_textureLoad_entry  )

◆ Q_TRACE_POINT() [12/16]

Q_TRACE_POINT ( qtquick3d ,
QSSG_textureLoad_exit  )

◆ Q_TRACE_POINT() [13/16]

Q_TRACE_POINT ( qtquick3d ,
QSSG_textureLoadPath_entry ,
const QString & path )

◆ Q_TRACE_POINT() [14/16]

Q_TRACE_POINT ( qtquick3d ,
QSSG_textureLoadPath_exit  )

◆ Q_TRACE_POINT() [15/16]

Q_TRACE_POINT ( qtquick3d ,
QSSG_textureUnload_entry  )

◆ Q_TRACE_POINT() [16/16]

Q_TRACE_POINT ( qtquick3d ,
QSSG_textureUnload_exit  )

◆ qHash()

size_t qHash ( const QSSGBufferManager::CustomImageCacheKey & k,
size_t seed )
noexcept

Definition at line 2185 of file qssgrenderbuffermanager.cpp.

◆ sizeForMipLevel()

constexpr QSize sizeForMipLevel ( int mipLevel,
const QSize & baseLevelSize )
staticconstexpr

Definition at line 128 of file qssgrenderbuffermanager.cpp.

◆ splitRuntimeMeshPath()

MeshIdxNamePair splitRuntimeMeshPath ( const QSSGRenderPath & rpath)
static

Definition at line 93 of file qssgrenderbuffermanager.cpp.

◆ textureMemorySize()

quint64 textureMemorySize ( QRhiTexture * texture)
inlinestatic

Definition at line 2067 of file qssgrenderbuffermanager.cpp.

Variable Documentation

◆ cube

const float cube[]
static

Definition at line 486 of file qssgrenderbuffermanager.cpp.

◆ nPrimitives

const int nPrimitives = 5
static

Definition at line 117 of file qssgrenderbuffermanager.cpp.

◆ primitives

const PrimitiveEntry primitives
static
Initial value:
= {
{"#Rectangle", "/Rectangle.mesh"},
{"#Sphere","/Sphere.mesh"},
{"#Cube","/Cube.mesh"},
{"#Cone","/Cone.mesh"},
{"#Cylinder","/Cylinder.mesh"},
}

Definition at line 118 of file qssgrenderbuffermanager.cpp.

◆ primitivesDirectory

const char * primitivesDirectory = "res//primitives"
static

Definition at line 126 of file qssgrenderbuffermanager.cpp.

◆ Q_TRACE_POINT

struct MeshStorageRef Q_TRACE_POINT

\qmltype ParticleSystem3D \inherits Node \inqmlmodule QtQuick3D.Particles3D

A system which includes particle, emitter, and affector types.

Since
6.2

This element is the root of the particle system, which handles the system timing and groups all the other related elements like particles, emitters, and affectors together. To group the system elements, they either need to be direct children of the ParticleSystem3D like this:

\qml, ParticleSystem3D { ParticleEmitter3D { ... } SpriteParticle3D { ... } } \endqml

Or if the system elements are not direct children, they need to use system property to point which ParticleSystem3D they belong to. Like this:

\qml ParticleSystem3D { id: psystem } ParticleEmitter3D { system: psystem ... } SpriteParticle3D { system: psystem ... } \endqml

Definition at line 27 of file qqmlboundsignal.cpp.