![]() |
Qt 6.x
The Qt SDK
|
#include <qssgmesh_p.h>
Classes | |
struct | IndexBuffer |
struct | Lod |
struct | Subset |
struct | SubsetBounds |
struct | TargetBuffer |
struct | VertexBuffer |
struct | VertexBufferEntry |
Public Types | |
using | DrawMode = QSSGRenderDrawMode |
using | Winding = QSSGRenderWinding |
using | ComponentType = QSSGRenderComponentType |
Public Member Functions | |
VertexBuffer | vertexBuffer () const |
IndexBuffer | indexBuffer () const |
TargetBuffer | targetBuffer () const |
QVector< Subset > | subsets () const |
bool | isValid () const |
DrawMode | drawMode () const |
Winding | winding () const |
quint32 | save (QIODevice *device, quint32 id=0) const |
bool | hasLightmapUVChannel () const |
bool | createLightmapUVChannel (uint lightmapBaseResolution) |
Static Public Member Functions | |
static Mesh | loadMesh (QIODevice *device, quint32 id=0) |
static QMap< quint32, Mesh > | loadAll (QIODevice *device) |
static Mesh | fromAssetData (const QVector< AssetVertexEntry > &vbufEntries, const QByteArray &indexBufferData, ComponentType indexComponentType, const QVector< AssetMeshSubset > &subsets, quint32 numTargets=0, quint32 numTargetComps=0) |
static Mesh | fromRuntimeData (const RuntimeMeshData &data, QString *error) |
Friends | |
struct | MeshInternal |
Definition at line 38 of file qssgmesh_p.h.
Definition at line 43 of file qssgmesh_p.h.
Definition at line 41 of file qssgmesh_p.h.
Definition at line 42 of file qssgmesh_p.h.
bool QSSGMesh::Mesh::createLightmapUVChannel | ( | uint | lightmapBaseResolution | ) |
Definition at line 1022 of file qssgmesh.cpp.
References alignment, QByteArray::append(), QVarLengthArray< T, Prealloc >::append(), QSSGMesh::MeshInternal::byteSizeForComponentType(), QSSGMesh::Mesh::VertexBufferEntry::componentCount, QSSGMesh::Mesh::VertexBufferEntry::componentType, QSSGMesh::Mesh::IndexBuffer::componentType, QByteArray::constData(), QByteArray::data(), QSSGMesh::Mesh::VertexBuffer::data, QSSGMesh::Mesh::IndexBuffer::data, QSSGMesh::Mesh::VertexBuffer::entries, QSSGMesh::getAlignedOffset(), QSSGMesh::MeshInternal::getLightmapUVAttrName(), QSSGMesh::MeshInternal::getNormalAttrName(), QSSGMesh::MeshInternal::getPositionAttrName(), QSSGMesh::MeshInternal::getUV0AttrName(), hasLightmapUVChannel(), i, QByteArray::isEmpty(), QSSGMesh::Mesh::VertexBufferEntry::name, QSSGMesh::Mesh::VertexBufferEntry::offset, qMax(), qWarning, QByteArray::reserve(), QVarLengthArray< T, Prealloc >::reserve(), QByteArray::resize(), QSSGLightmapUVGenerator::run(), QByteArray::size(), QSSGMesh::Mesh::VertexBuffer::stride, Qt::Uninitialized, and QSSGLightmapUVGeneratorResult::vertexMap.
|
inline |
Definition at line 118 of file qssgmesh_p.h.
Referenced by QSSGMeshBVHBuilder::buildTree().
|
static |
Definition at line 625 of file qssgmesh.cpp.
References alignment, QByteArray::append(), QList< T >::append(), QSSGMesh::Mesh::Subset::bounds, QSSGMesh::MeshInternal::byteSizeForComponentType(), QSSGMesh::MeshInternal::calculateSubsetBounds(), QSSGMesh::Mesh::VertexBufferEntry::componentCount, QSSGMesh::Mesh::VertexBufferEntry::componentType, QSSGMesh::Mesh::IndexBuffer::componentType, QSSGMesh::Mesh::Subset::count, QByteArray::data(), QSSGMesh::Mesh::VertexBuffer::data, QSSGMesh::Mesh::IndexBuffer::data, QSSGMesh::Mesh::TargetBuffer::data, QSSGMesh::Mesh::VertexBuffer::entries, QSSGMesh::Mesh::TargetBuffer::entries, QSSGMesh::getAlignedOffset(), QSSGMesh::Mesh::Subset::lightmapSizeHint, QSSGMesh::Mesh::Subset::lods, QSSGMesh::Mesh::SubsetBounds::max, QSSGBounds3::maximum, QSSGMesh::Mesh::SubsetBounds::min, QSSGBounds3::minimum, QSSGMesh::Mesh::VertexBufferEntry::name, QSSGMesh::Mesh::Subset::name, QSSGMesh::Mesh::TargetBuffer::numTargets, QSSGMesh::Mesh::VertexBufferEntry::offset, QSSGMesh::Mesh::Subset::offset, ok, Q_ASSERT, qCeil(), qMax(), qMin(), qSqrt(), QByteArray::resize(), QSSGMesh::Mesh::VertexBuffer::stride, and subsets().
Referenced by AssimpUtils::generateMeshData().
|
static |
Definition at line 764 of file qssgmesh.cpp.
References QVarLengthArray< T, Prealloc >::begin(), QSSGMesh::RuntimeMeshData::Attribute::BinormalSemantic, QSSGMesh::RuntimeMeshData::Attribute::ColorSemantic, QSSGMesh::RuntimeMeshData::Attribute::componentCount(), QSSGMesh::Mesh::IndexBuffer::componentType, QSSGMesh::RuntimeMeshData::Attribute::componentType, QByteArray::data(), QSSGMesh::Mesh::VertexBuffer::data, QSSGMesh::Mesh::IndexBuffer::data, QSSGMesh::Mesh::TargetBuffer::data, QVarLengthArray< T, Prealloc >::end(), QSSGMesh::Mesh::VertexBuffer::entries, QSSGMesh::Mesh::TargetBuffer::entries, error, QSSGMesh::MeshInternal::getColorAttrName(), QSSGMesh::MeshInternal::getJointAttrName(), QSSGMesh::MeshInternal::getNormalAttrName(), QSSGMesh::MeshInternal::getPositionAttrName(), QSSGMesh::MeshInternal::getTexBinormalAttrName(), QSSGMesh::MeshInternal::getTexTanAttrName(), QSSGMesh::MeshInternal::getUV0AttrName(), QSSGMesh::MeshInternal::getUV1AttrName(), QSSGMesh::MeshInternal::getWeightAttrName(), i, QSSGMesh::RuntimeMeshData::Attribute::IndexSemantic, j, QSSGMesh::RuntimeMeshData::Attribute::JointSemantic, QSSGMesh::RuntimeMeshData::Attribute::NormalSemantic, QSSGMesh::Mesh::TargetBuffer::numTargets, QSSGMesh::RuntimeMeshData::Attribute::offset, QSSGMesh::RuntimeMeshData::Attribute::PositionSemantic, Q_ASSERT, qCeil(), qSqrt(), QByteArray::resize(), QSSGMesh::RuntimeMeshData::Attribute::semantic, QByteArray::size(), QSSGMesh::Mesh::VertexBuffer::stride, QSSGMesh::RuntimeMeshData::Attribute::TangentSemantic, QSSGMesh::RuntimeMeshData::Attribute::TexCoord0Semantic, QSSGMesh::RuntimeMeshData::Attribute::TexCoord1Semantic, and QSSGMesh::RuntimeMeshData::Attribute::WeightSemantic.
Referenced by QSSGBufferManager::loadMeshData().
bool QSSGMesh::Mesh::hasLightmapUVChannel | ( | ) | const |
Definition at line 1012 of file qssgmesh.cpp.
References QSSGMesh::Mesh::VertexBuffer::entries, and QSSGMesh::MeshInternal::getLightmapUVAttrName().
Referenced by createLightmapUVChannel().
|
inline |
Definition at line 98 of file qssgmesh_p.h.
Referenced by QSSGMeshBVHBuilder::QSSGMeshBVHBuilder(), QSSGLayerRenderData::prepareModelsForRender(), and QQuick3DPhysicsMesh::triangleMesh().
|
inline |
Definition at line 116 of file qssgmesh_p.h.
Referenced by QQuick3DPhysicsMesh::bounds(), QSSGMeshBVHBuilder::buildTree(), QQuick3DPhysicsMesh::convexMesh(), QSSGBufferManager::getModelBounds(), QSSGBufferManager::loadMeshBVH(), QSSGBufferManager::loadMeshData(), QSSGBufferManager::loadMeshData(), QSSGLayerRenderData::prepareModelsForRender(), and QQuick3DPhysicsMesh::triangleMesh().
Definition at line 600 of file qssgmesh.cpp.
References QMap< Key, T >::cbegin(), QMap< Key, T >::cend(), device, header(), QMap< Key, T >::insert(), it, QSSGMesh::MeshInternal::MultiMeshInfo::meshEntries, qWarning, QSSGMesh::MeshInternal::readFileHeader(), and QSSGMesh::MeshInternal::readMeshData().
Definition at line 581 of file qssgmesh.cpp.
References QMap< Key, T >::cbegin(), QMap< Key, T >::constEnd(), QMap< Key, T >::constFind(), device, header(), QMap< Key, T >::isEmpty(), it, QSSGMesh::MeshInternal::MultiMeshInfo::meshEntries, QSSGMesh::MeshInternal::readFileHeader(), and QSSGMesh::MeshInternal::readMeshData().
Referenced by QSSGBufferManager::loadMeshData(), loadModelBlendParticleMesh(), and loadModelShapeMesh().
Definition at line 913 of file qssgmesh.cpp.
References QString::cbegin(), QString::cend(), device, header(), QString::insert(), it, QSSGMesh::MESH_HEADER_STRUCT_SIZE, QSSGMesh::MULTI_ENTRY_STRUCT_SIZE, QSSGMesh::MULTI_HEADER_STRUCT_SIZE, Q_ASSERT, qMax(), qWarning, QSSGMesh::MeshInternal::readFileHeader(), QString::size(), QSSGMesh::MeshInternal::MeshDataHeader::sizeInBytes, QSSGMesh::MeshInternal::MultiMeshInfo::withDefaults(), QSSGMesh::MeshInternal::MeshDataHeader::withDefaults(), QSSGMesh::MeshInternal::writeFileHeader(), QSSGMesh::MeshInternal::writeMeshData(), and QSSGMesh::MeshInternal::writeMeshHeader().
Definition at line 100 of file qssgmesh_p.h.
Referenced by QQuick3DPhysicsMesh::bounds(), QSSGMeshBVHBuilder::buildTree(), fromAssetData(), and QSSGBufferManager::getModelBounds().
|
inline |
Definition at line 99 of file qssgmesh_p.h.
|
inline |
Definition at line 97 of file qssgmesh_p.h.
Referenced by QSSGMeshBVHBuilder::QSSGMeshBVHBuilder(), QQuick3DPhysicsMesh::convexMesh(), QSSGLayerRenderData::prepareModelsForRender(), and QQuick3DPhysicsMesh::triangleMesh().
|
inline |
Definition at line 119 of file qssgmesh_p.h.
|
friend |
Definition at line 134 of file qssgmesh_p.h.