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
QSSGMesh Namespace Reference

Classes

class  Mesh
struct  AssetVertexEntry
struct  AssetMeshSubset
struct  RuntimeMeshData
struct  MeshInternal
struct  MeshVertexStream
struct  MeshLevelOfDetail
struct  MeshVertexSplit

Functions

static bool isKnownComponentType (quint32 value)
static bool canRead (QIODevice *device, quint64 count, quint64 itemSize)
static quint32 getAlignedOffset (quint32 offset, quint32 align)
size_t simplifyMesh (unsigned int *destination, const unsigned int *indices, size_t indexCount, const float *vertexPositions, size_t vertexCount, size_t vertexPositionsStride, size_t targetIndexCount, float targetError, unsigned int options, float *resultError)
float simplifyScale (const float *vertexPositions, size_t vertexCount, size_t vertexPositionsStride)
void optimizeVertexCache (unsigned int *destination, const unsigned int *indices, size_t indexCount, size_t vertexCount)
size_t generateVertexRemap (unsigned int *destination, const unsigned int *indices, size_t indexCount, size_t vertexCount, const MeshVertexStream *streams, size_t streamCount)
void remapVertexBuffer (void *destination, const void *vertices, size_t vertexCount, size_t vertexSize, const unsigned int *remap)
void remapIndexBuffer (unsigned int *destination, const unsigned int *indices, size_t indexCount, const unsigned int *remap)
QVector< MeshLevelOfDetailgenerateMeshLevelsOfDetail (const QVector< QVector3D > &positions, const QVector< QVector3D > &normals, const QVector< quint32 > &indexes, QVector< MeshVertexSplit > &splitVertices, float normalMergeAngle, float normalSplitAngle)

Variables

static const size_t MULTI_HEADER_STRUCT_SIZE = 16
static const size_t MULTI_ENTRY_STRUCT_SIZE = 16
static const size_t MESH_HEADER_STRUCT_SIZE = 12
static const size_t MESH_STRUCT_SIZE = 56
static const size_t VERTEX_BUFFER_ENTRY_STRUCT_SIZE = 16
static const size_t SUBSET_STRUCT_SIZE_V3_V4 = 40
static const size_t SUBSET_STRUCT_SIZE_V5 = 48
static const size_t SUBSET_STRUCT_SIZE_V6 = 52
static const size_t LOD_STRUCT_SIZE = 12
static const size_t JOINT_STRUCT_SIZE = 136
constexpr size_t maxVertexStreams = 16

Function Documentation

◆ canRead()

bool QSSGMesh::canRead ( QIODevice * device,
quint64 count,
quint64 itemSize )
static

Definition at line 76 of file qssgmesh.cpp.

◆ generateMeshLevelsOfDetail()

QVector< MeshLevelOfDetail > QSSGMesh::generateMeshLevelsOfDetail ( const QVector< QVector3D > & positions,
const QVector< QVector3D > & normals,
const QVector< quint32 > & indexes,
QVector< MeshVertexSplit > & splitVertices,
float normalMergeAngle = 60.0f,
float normalSplitAngle = 25.0f )

Definition at line 1530 of file qssgmesh.cpp.

◆ generateVertexRemap()

size_t QSSGMesh::generateVertexRemap ( unsigned int * destination,
const unsigned int * indices,
size_t indexCount,
size_t vertexCount,
const MeshVertexStream * streams,
size_t streamCount )

Definition at line 1498 of file qssgmesh.cpp.

◆ getAlignedOffset()

quint32 QSSGMesh::getAlignedOffset ( quint32 offset,
quint32 align )
inlinestatic

Definition at line 840 of file qssgmesh.cpp.

◆ isKnownComponentType()

bool QSSGMesh::isKnownComponentType ( quint32 value)
static

Definition at line 55 of file qssgmesh.cpp.

◆ optimizeVertexCache()

void QSSGMesh::optimizeVertexCache ( unsigned int * destination,
const unsigned int * indices,
size_t indexCount,
size_t vertexCount )

Definition at line 1493 of file qssgmesh.cpp.

◆ remapIndexBuffer()

void QSSGMesh::remapIndexBuffer ( unsigned int * destination,
const unsigned int * indices,
size_t indexCount,
const unsigned int * remap )

Definition at line 1522 of file qssgmesh.cpp.

◆ remapVertexBuffer()

void QSSGMesh::remapVertexBuffer ( void * destination,
const void * vertices,
size_t vertexCount,
size_t vertexSize,
const unsigned int * remap )

Definition at line 1513 of file qssgmesh.cpp.

◆ simplifyMesh()

size_t QSSGMesh::simplifyMesh ( unsigned int * destination,
const unsigned int * indices,
size_t indexCount,
const float * vertexPositions,
size_t vertexCount,
size_t vertexPositionsStride,
size_t targetIndexCount,
float targetError,
unsigned int options,
float * resultError )

Definition at line 1483 of file qssgmesh.cpp.

◆ simplifyScale()

float QSSGMesh::simplifyScale ( const float * vertexPositions,
size_t vertexCount,
size_t vertexPositionsStride )

Definition at line 1488 of file qssgmesh.cpp.

Variable Documentation

◆ JOINT_STRUCT_SIZE

const size_t QSSGMesh::JOINT_STRUCT_SIZE = 136
static

Definition at line 50 of file qssgmesh.cpp.

◆ LOD_STRUCT_SIZE

const size_t QSSGMesh::LOD_STRUCT_SIZE = 12
static

Definition at line 47 of file qssgmesh.cpp.

◆ maxVertexStreams

size_t QSSGMesh::maxVertexStreams = 16
constexpr

Definition at line 448 of file qssgmesh_p.h.

◆ MESH_HEADER_STRUCT_SIZE

const size_t QSSGMesh::MESH_HEADER_STRUCT_SIZE = 12
static

Definition at line 31 of file qssgmesh.cpp.

◆ MESH_STRUCT_SIZE

const size_t QSSGMesh::MESH_STRUCT_SIZE = 56
static

Definition at line 34 of file qssgmesh.cpp.

◆ MULTI_ENTRY_STRUCT_SIZE

const size_t QSSGMesh::MULTI_ENTRY_STRUCT_SIZE = 16
static

Definition at line 28 of file qssgmesh.cpp.

◆ MULTI_HEADER_STRUCT_SIZE

const size_t QSSGMesh::MULTI_HEADER_STRUCT_SIZE = 16
static

Definition at line 25 of file qssgmesh.cpp.

◆ SUBSET_STRUCT_SIZE_V3_V4

const size_t QSSGMesh::SUBSET_STRUCT_SIZE_V3_V4 = 40
static

Definition at line 40 of file qssgmesh.cpp.

◆ SUBSET_STRUCT_SIZE_V5

const size_t QSSGMesh::SUBSET_STRUCT_SIZE_V5 = 48
static

Definition at line 42 of file qssgmesh.cpp.

◆ SUBSET_STRUCT_SIZE_V6

const size_t QSSGMesh::SUBSET_STRUCT_SIZE_V6 = 52
static

Definition at line 44 of file qssgmesh.cpp.

◆ VERTEX_BUFFER_ENTRY_STRUCT_SIZE

const size_t QSSGMesh::VERTEX_BUFFER_ENTRY_STRUCT_SIZE = 16
static

Definition at line 37 of file qssgmesh.cpp.