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 <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 81 of file qssgmesh_p.h.
Definition at line 86 of file qssgmesh_p.h.
Definition at line 84 of file qssgmesh_p.h.
Definition at line 85 of file qssgmesh_p.h.
bool QSSGMesh::Mesh::createLightmapUVChannel | ( | uint | lightmapBaseResolution | ) |
Definition at line 1022 of file qssgmesh.cpp.
References alignment, QSSGMesh::MeshInternal::byteSizeForComponentType(), 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(), qMax(), qWarning, QByteArray::reserve(), QByteArray::resize(), QByteArray::size(), QSSGMesh::Mesh::VertexBuffer::stride, Qt::Uninitialized, and QSSGLightmapUVGeneratorResult::vertexMap.
|
inline |
Definition at line 161 of file qssgmesh_p.h.
Referenced by QSSGMeshBVHBuilder::buildTree().
|
static |
Definition at line 625 of file qssgmesh.cpp.
References alignment, QByteArray::append(), QSSGMesh::MeshInternal::byteSizeForComponentType(), QSSGMesh::MeshInternal::calculateSubsetBounds(), QSSGMesh::Mesh::VertexBufferEntry::componentType, QSSGMesh::Mesh::IndexBuffer::componentType, QString::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(), QSSGBounds3::maximum, QSSGBounds3::minimum, QSSGMesh::Mesh::Subset::name, QSSGMesh::Mesh::TargetBuffer::numTargets, 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 QSSGMesh::RuntimeMeshData::Attribute::BinormalSemantic, QSSGMesh::RuntimeMeshData::Attribute::ColorSemantic, QSSGMesh::RuntimeMeshData::Attribute::componentCount(), QSSGMesh::Mesh::VertexBufferEntry::componentType, QSSGMesh::Mesh::IndexBuffer::componentType, QSSGMesh::RuntimeMeshData::Attribute::componentType, QByteArray::data(), QSSGMesh::Mesh::VertexBuffer::data, QSSGMesh::Mesh::IndexBuffer::data, QSSGMesh::Mesh::TargetBuffer::data, 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 141 of file qssgmesh_p.h.
Referenced by QSSGMeshBVHBuilder::QSSGMeshBVHBuilder().
|
inline |
Definition at line 159 of file qssgmesh_p.h.
Referenced by QQuick3DPhysicsMesh::bounds(), QSSGMeshBVHBuilder::buildTree(), QSSGBufferManager::getModelBounds(), QSSGBufferManager::loadMeshBVH(), QSSGBufferManager::loadMeshData(), and QSSGBufferManager::loadMeshData().
Definition at line 600 of file qssgmesh.cpp.
References QSet< T >::cbegin(), device, header(), it, qWarning, QSSGMesh::MeshInternal::readFileHeader(), and QSSGMesh::MeshInternal::readMeshData().
Definition at line 581 of file qssgmesh.cpp.
References QSet< T >::constEnd(), QSet< T >::constFind(), device, header(), it, QSSGMesh::MeshInternal::readFileHeader(), and QSSGMesh::MeshInternal::readMeshData().
Referenced by QSSGBufferManager::loadMeshData(), loadModelBlendParticleMesh(), and loadModelShapeMesh().
Definition at line 913 of file qssgmesh.cpp.
References device, header(), it, QSSGMesh::MESH_HEADER_STRUCT_SIZE, QSSGMesh::MULTI_ENTRY_STRUCT_SIZE, QSSGMesh::MULTI_HEADER_STRUCT_SIZE, Q_ASSERT, qMax(), qWarning, QSSGMesh::MeshInternal::readFileHeader(), QSSGMesh::MeshInternal::MultiMeshInfo::withDefaults(), QSSGMesh::MeshInternal::MeshDataHeader::withDefaults(), QSSGMesh::MeshInternal::writeFileHeader(), QSSGMesh::MeshInternal::writeMeshData(), and QSSGMesh::MeshInternal::writeMeshHeader().
Definition at line 143 of file qssgmesh_p.h.
Referenced by QQuick3DPhysicsMesh::bounds(), QSSGMeshBVHBuilder::buildTree(), fromAssetData(), and QSSGBufferManager::getModelBounds().
|
inline |
Definition at line 142 of file qssgmesh_p.h.
|
inline |
Definition at line 140 of file qssgmesh_p.h.
Referenced by QSSGMeshBVHBuilder::QSSGMeshBVHBuilder().
|
inline |
Definition at line 162 of file qssgmesh_p.h.
|
friend |
Definition at line 177 of file qssgmesh_p.h.